AziatkaVictor 3 560 Опубликовано 23 августа, 2020 Автор темы: ForserX Предложения по правкам движка Сборки: Сборка X-Ray 1.0007(rc1) Сборка X-Ray 1.6.02 Спойлер "X-Ray Engine" Оригинальные версии: Shadow of Chernobyl Исходники: Исходники SoC (1.0007rc1) CS (all versions) and 2 build Исходники CoP Исходники X-Ray 2.0 1.0007(rc1) Lost Alpha Исходники ogse.dll Репозитории: OpenXRay (CS & CoP) xrDev (SoC, CS, CoP etc) Репозиторий от RedPython Репозиторий от ForserX Правки: Спойлер Ссылка: ЯндексДиск Изменения: Отсутствие старфорсоов и сопутствующих проблем В nodvd-вариантах из за сбоев в циклах движка могли происходить вылеты, которые здесь невозможны Нормальная система отлова багов, в nodvd её по сути не было, движковые логи не писало Если у НПЦ проблемы с логикой, nodvd-вариант сразу крешится без лога и бьются сейвы, тут это пофиксено Фикс ошибки "(bytes_need<=mSize) && vl_Count" на r2, связанной с перегрузками видеобуфера Оптимизация требований к памяти (GlobalMemoryStatus вместо GlobalMemoryStatusEx) Возможность менять hud_fov (несколько предустановок, рассчитано исключительно на данный экзешник) Возможность менять fov для xrgame.dll от 1.0006 (несколько предустановок) Отключено загаживание консоли/лога сообщениями "CL setdestroy" Расширено меню установки fov для xrgame.dll Добавлены опциональные (необязательные к установке) фиксы. Запуск и выбор - через 10006_patcher.cmd: Увеличение числа стеков памяти Увеличение DVB (Vertices Buffer) до 6 mb Увеличение DIB (Indices Buffer) до 1 mb Отключение ругательств рендера на шейдеры Отключение ругательств на неправильное положение солнца в погодном конфиге (by lvg_brest) Отключение разных дебаг-сообщений в xrgame.dll Основан на новом экзешнике от GSC с принудительным ограничением кадров (защита от перегрева видеокарт/БП) Возможность опционально отключать ограничитель кадров (защиту от перегрева видеокарт/БП) Теперь единый экзешник + внешние патчеры ru/ww Теперь единый fov/hud_fov switcher Новый xrGameSpy.dll (сетевая игра переключается на сервер GSC) Спойлер Cut X-Ray X-Ray extensions Спойлер Ссылка: ЯндексДиск Изменения: Анимация ходьбы anim_walk для пистолетов Новые скриптовые методы: inv_weight - получить вес макс. вес set_inv_weight - установить макс. вес move_on_belt - переместить предмет на пояс item_on_belt - получить предмет на поясе set_ammo_type - установить тип патронов Новые скриптовые кaллбэки: on_item_belt - перемещение предмета на пояс on_item_ruck - перемещение предмета в рюкзак on_item_slot - перемещение предмета в слот on_switch_nightvision - переключение ПНВ Новые консольные команды: fov [5.0, 180.0] - глобальный fov камеры k_ammo_on_belt [on\off] - патроны на поясе Артефакты работают только из рюкзака, на поясе не действуют на ГГ - пояс теперь по сути контейнер артефактов. Из инвентаря действуют абсолютно все свойства артефактов (радиоизлучение, пулестойкость, хим. защита и т.д.). Спойлер Вылечивает xrgame.dll ТЧ 1.0006 от засирания лога/консоли ненужными дебаг-сообщениями вида: --NeedToDestroyObject Destroying local grenade sv destroy object ge_destroy not found on server sv ownership id_parent id_entity sv !ownership (entity already has parent) sv reject. id_parent id_entity [16-9] get_xml_name for Проверялся как на чистой dll, так и на пропатченной через x-ray extensions/cut x-ray. С мультиплеером правка несовместима. Ссылка: ЯндексДиск Установка: Скопировать clear_xrGame.cmd и patch2.exe в папку с xrgame.dll и запустить clear_xrGame.cmd. Также для полной чистоты лога рекомендуется использовать "Исправленный экзешник для S.T.A.L.K.E.R ТЧ 1.0006 (v2)" или в своем экзешнике хекс-редактором найти и обнулить байты фразы: cl setDestroy [%d][%d] Спойлер Основан на X-Ray extensions portable r230 Изменения: Включены худовые анимации спринта для ножа,болта,гранат,бинокля Исправлено положение при виде с внешней камеры для ножа,болта,гранат,бинокля Болту увеличено время жизни, cокращено время набора силы броска по ПК, возвращена старая анимация Исправлена модель худа SPAS-12 Альтернативная анимация стрельбы из SPAS-12 Для xrgame применены стандартные настройки из X-Ray extensions portable r230 (пропатченный xrgame.dll необходим для работы скрипта восстанавливающего спринт) Работают команды cam_fov/hud_fov, включено солнце и т.п. Пара правок bind_stalker для повышения стабильности (by makdm и Zander_driver) Ссылка: ЯндексДиск Спойлер Ссылка: Скриншоты в формате PNG Спойлер Ссылка: Увеличения радиуса прорисовки травы Спойлер PanicLog KeyLogger by kstn(ТЧ) Спойлер FoV для версий 1.0003-1.0006; 1.5.04; 1.5.07; 1.5.10; 1.6-1.6.02 FOV 55 (ЧН 1.5.10) FOV 85 (ТЧ 1.0004) Спойлер SweetFX 1.4 Presets by Cromm Cruac ENBSeries (для ТЧ) Спойлер Lua-перexватчик от alpet LuaFix by RvP LuaFix в редакции от Aplet Спойлер EnvFX Советы: Спойлер Ограничение на размещение динамических моделей в игре Фикс полосы загрузки в ЗП Многоядерность Купол на актером Фикс сохранения клиентских объектов Воздействие аномалий на НПС [COP] Оффлайн перемещение + дополнение mVPTexgen Трава Так же в теме можно задавать различные вопросы, связанные с редактированием движка. 2 1 2 Как оформить тему Правила форума Вопросы по сайту Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AsuraH 56 Опубликовано 22 июня, 2022 (изменено) 2 часа назад, Nordic359 сказал: Могу показать, как у себя этот вопрос решал. В файле r2_rendertarget_phase_combine.cpp Этот код: envclr.x *= 2*ps_r2_sun_lumscale_hemi; envclr.y *= 2*ps_r2_sun_lumscale_hemi; envclr.z *= 2*ps_r2_sun_lumscale_hemi; Заменить на этот: envclr.x *= ps_r2_sun_lumscale_hemi; envclr.y *= ps_r2_sun_lumscale_hemi; envclr.z *= ps_r2_sun_lumscale_hemi; Как только помножение на 2 исчезло, вроде пересветов поубавилось. Спасибо, после работы попробую Изменено 22 июня, 2022 пользователем AsuraH Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AsuraH 56 Опубликовано 23 июня, 2022 (изменено) В 22.06.2022 в 04:13, Nordic359 сказал: Могу показать, как у себя этот вопрос решал. В файле r2_rendertarget_phase_combine.cpp Этот код: envclr.x *= 2*ps_r2_sun_lumscale_hemi; envclr.y *= 2*ps_r2_sun_lumscale_hemi; envclr.z *= 2*ps_r2_sun_lumscale_hemi; Заменить на этот: envclr.x *= ps_r2_sun_lumscale_hemi; envclr.y *= ps_r2_sun_lumscale_hemi; envclr.z *= ps_r2_sun_lumscale_hemi; Как только помножение на 2 исчезло, вроде пересветов поубавилось. Да, это помогло немного убавить блеск. Но все равно бросается в глаза. Я скорее имею ввиду сделать нечто похожее на R2 рендер (Неполная динамика, где бампы работают, но при этом освещение остаётся статическим, без Hemi освещение (чисто бампы и эмбиент освещение)) Вот, нечто в теории и хочется реализовать (речь коннкретно об отображении бампов и спекуляров мапов без hemi освещения, но уже на R4 рендере (DX11 улучшенное полное освещение) . В оригинале если просто выключить hemi с помощью консольных комманд. То все окружения становится черным). Ниже пример сравнения двух рендеров. Для более наглядной картины Изменено 23 июня, 2022 пользователем AsuraH Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Arkada 421 Опубликовано 23 июня, 2022 49 минут назад, AsuraH сказал: без Hemi освещение (чисто бампы и эмбиент освещение)) Без правки шейдеров вам точно не обойтись. Не только же движок рендерит объекты. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hozar_2002 109 Опубликовано 23 июня, 2022 (изменено) AsuraH Не очень понимаю зачем вам вырезать hemi освещение, без него игра выглядит куда более мерзко, однако не мне вас осуждать. Достаточно в шейдре hmodel.h заменить расчет hscale на подобный код Это сохранит вертикальность hemi освещения, но позволит вам не использовать для этого карты освещения. Изменено 23 июня, 2022 пользователем Hozar_2002 1 Еще один злодей! 6 ГБ ОЗУ DDR3 1094 мГц (Разносорт) Процессор Intel Xeon E5420 4/4 2.57 ГГц (OC) Видеокарта Gigabyte Radeon RX 580 8192 МБ GDDR5 (Micron) DirectX v12.0 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 074 Опубликовано 24 июня, 2022 В 22.06.2022 в 02:53, macron сказал: что в логе пишут про DVB А что это такое и какое значение должно быть? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 646 Опубликовано 24 июня, 2022 18 минут назад, Hunter сказал: А что это такое и какое значение должно быть? Видеобуфер. Чтобы не было вылетов, не менее 4096K. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stern-13 2 329 Опубликовано 24 июня, 2022 В 22.06.2022 в 02:56, Hunter сказал: То есть, рендера-не твои? А в сети гуляло под твоим авторством) там оригинальные файлы из папки bin в комплекте сразу, изменений в них не было. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 074 Опубликовано 24 июня, 2022 Stern-13 они 13 года. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 646 Опубликовано 24 июня, 2022 3 часа назад, macron сказал: Видеобуфер. Чтобы не было вылетов, не менее 4096K. Цитата В рендере используется вершинный буфер. До заполнения координатами вершин, буфер блокируется, чтобы видеокарта не пыталась оттуда брать данные. Перед блокировкой проверяется размер данных для заполнения буфера, сравнивается с его размером, и если размер данных больше размера буфера, происходит вылет: (bytes_need<=mSize) && vl_Count. В ТЧ его почему-то ограничили 512 килобайтами, поэтому ЧНовские Болота и функционируют на нём только с туманной погодой (ограничение дальности отрисовки геометрии => снижение размера данных для вершинного буфера). Ну и интересный факт: текущий размер буфера пишется в лог, после * DVB created: 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stern-13 2 329 Опубликовано 24 июня, 2022 3 часа назад, Hunter сказал: они 13 года. и что? Дата файла не показывает его содержание, а содержание там было без изменений. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Zloy i Derzkiy 0 Опубликовано 26 июня, 2022 Всем привет! Собрал движок из исходников 1.0007 (rc1). Можно начать новую игру, сохранится, но при загрузке любого сохранения вылетает с логом: FATAL ERROR [error]Expression : fatal error [error]Function : CScriptEngine::lua_error [error]File : script_engine.cpp [error]Line : 73 [error]Description : <no expression> [error]Arguments : LUA error: ...ow of chernobyl\gamedata\scripts\task_manager.script:222: attempt to index local 'defend_object' (a nil value) stack trace: 0023:74291D7A xrCore.dll, xrDebug::fatal() 0023:725D7B91 xrGame.dll В OGSR-Engine предлагают использовать заглушку и в task_manager.script после 220 строки: local defend_object = alife():object(self.task_info[id].selected_target) Добавить следующее: if not defend_object then defend_object = alife():actor() end Собственно сам главный вопрос: может есть более корректный способ поправить баг??? Заметил что в патче от lvg_brest, и в stalker final update такой заглушки нет, хотя движок у них тоже подвергался редактированию. Может это конечно не оригинальный баг, а результат внесенных правок? Но тогда каких - я всего-то и сдедал, что перенес увеличение видеобуффера до 4096к, восстановление в.синхрогизации, включение очистки текстур g-буффера и принудительной очистки пула моделей при завершении игры??? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Stern-13 2 329 Опубликовано 26 июня, 2022 (изменено) 18 минут назад, Zloy i Derzkiy сказал: Заметил что в патче от lvg_brest Автор не все из 1.0007 переносил как есть 18 минут назад, Zloy i Derzkiy сказал: stalker final update Тут вообще XRay Extension для 1.0006, а не 1.0007 Изменено 26 июня, 2022 пользователем Stern-13 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ForserX 55 Опубликовано 26 июня, 2022 Ошибка на стороне пользователя. Сам неоднократно работал с 1.0007(rc1) и такого не встречал Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Zloy i Derzkiy 0 Опубликовано 26 июня, 2022 2 часа назад, Stern-13 сказал: Тут вообще XRay Extension для 1.0006, а не 1.0007 Вот этого не знал, хотя действительно можно было догадаться. Думал что в 2k22 при наличии исходного кода в открытом доступе никто не будет правками из x-ray extensions пользоваться. Ведь в самом коде гигантское количество багов и недочетов которые extensions не исправляет, но которые просто Must Have в проекте направленном на устранение косяков оригинала. Дополнено 9 минуты спустя 2 часа назад, ForserX сказал: Ошибка на стороне пользователя. Сам неоднократно работал с 1.0007(rc1) и такого не встречал Вот ради интереса ревертнул всё внесенные правки, за исключением путей к библиотекам dplay и directx конечно же. Оставил код в том виде в котором скачал из интернета, собрал - вылет никуда не делся. Может сам архив с исходниками не там где нужно было скачал? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 074 Опубликовано 29 июня, 2022 macron привет, подтверждаю, твой движок с вертикалкой еще имеет исправленный видеобуфер, вылетов нет) 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AsuraH 56 Опубликовано 1 июля, 2022 В 23.06.2022 в 09:54, Hozar_2002 сказал: AsuraH Не очень понимаю зачем вам вырезать hemi освещение, без него игра выглядит куда более мерзко, однако не мне вас осуждать. Достаточно в шейдре hmodel.h заменить расчет hscale на подобный код Это сохранит вертикальность hemi освещения, но позволит вам не использовать для этого карты освещения. Да нет, почему? Если убрать Hemi, и включить бампы. То смотрится так же как та же динамика но без теней от объектов (Не включаю их потому что ФПС жрет паскуда) И без этого странного блеска на моделях Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
HollowKrueger 502 Опубликовано 1 июля, 2022 AsuraH Этот странный блеск называется спекуляром. И если его нормально настроить - выглядит шикарно. Просто все любят в модификациях выкручивать блеск до заоблачных пределов и из-за этого все выглядит очень не очень. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AsuraH 56 Опубликовано 1 июля, 2022 Только что, HollowKrueger сказал: AsuraH Этот странный блеск называется спекуляром. И если его нормально настроить - выглядит шикарно. Просто все любят в модификациях выкручивать блеск до заоблачных пределов и из-за этого все выглядит очень не очень. Не совсем так... Спекуляр работает за счёт Бамп мапов. А странный блеск идёт за счёт hemi Это хорошо видно если выключить солнце. Или в пасмурную погоду. Модели блестят словно в масле обмазанны Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hozar_2002 109 Опубликовано 1 июля, 2022 (изменено) 35 минут назад, AsuraH сказал: Модели блестят словно в масле обмазанны Это может происходить изза местной реадизации IBL. Если вам это не очень нравится, то можно просто переписать функцию так, чтобы она не учитывал #small скайкубы. Базовое освещение станет более плоским, но тогда не придется отказываться от затенения внутри помещений. UPD: Вот псевдокод такой реализации hdiffuse = env_color.xyz * env_color.xyz * h + L_ambient.xyz; hspecular = 0.0f; Изменено 1 июля, 2022 пользователем Hozar_2002 Еще один злодей! 6 ГБ ОЗУ DDR3 1094 мГц (Разносорт) Процессор Intel Xeon E5420 4/4 2.57 ГГц (OC) Видеокарта Gigabyte Radeon RX 580 8192 МБ GDDR5 (Micron) DirectX v12.0 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AsuraH 56 Опубликовано 1 июля, 2022 22 минуты назад, Hozar_2002 сказал: Это может происходить изза местной реадизации IBL. Если вам это не очень нравится, то можно просто переписать функцию так, чтобы она не учитывал #small скайкубы. Базовое освещение станет более плоским, но тогда не придется отказываться от затенения внутри помещений. UPD: Вот псевдокод такой реализации hdiffuse = env_color.xyz * env_color.xyz * h + L_ambient.xyz; hspecular = 0.0f; Да, спасибо. Разобрался уже. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Alex Kireev 18 Опубликовано 4 июля, 2022 Всем привет Подскажите пожалуйста кто работал с движком для ТЧ 1.0004. Хочу добавить телепортацию в demo_record, но не знаю исходники какие нужны и как собирать. Какой файл редактировать и что изменять это нашел. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Hunter 2 074 Опубликовано 4 июля, 2022 Alex Kireev обратись к Макрону, он-гений движковых правок. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 646 Опубликовано 4 июля, 2022 Спасибо, не ко мне. Я пока движки не компилирую. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
RayTwitty 780 Опубликовано 4 июля, 2022 (изменено) В 26.06.2022 в 08:09, Zloy i Derzkiy сказал: В OGSR-Engine предлагают использовать заглушку и в task_manager.script после 220 строки Это судя по всему я и предлагал ? https://www.gameru.net/forum/index.php?s=&showtopic=23443&view=findpost&p=1696840 В 26.06.2022 в 08:09, Zloy i Derzkiy сказал: Собственно сам главный вопрос: может есть более корректный способ поправить баг??? Я не нашел такого способа. В 26.06.2022 в 08:09, Zloy i Derzkiy сказал: Заметил что в патче от lvg_brest, и в stalker final update такой заглушки нет, хотя движок у них тоже подвергался редактированию. Дело не в самом факте редактирования, а в том, что обновили версию Lua или luabind (уже не помню). В их движках скорее всего не обновляли, поэтому и последствий не было. Вот тут я начинал разбор вопроса: https://www.gameru.net/forum/index.php?s=&showtopic=23443&view=findpost&p=1696594 Изменено 4 июля, 2022 пользователем RayTwitty Phantoms Zone | Shadows Addon | DMX MOD Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
CiberZold 560 Опубликовано 5 июля, 2022 (изменено) 5 часов назад, Alex Kireev сказал: Какой файл редактировать и что изменять это нашел. так напиши, что за файл нашёл и что там надо править, тогда и легче подсказать и понять, что тебе надо будет дальше делать) Изменено 5 июля, 2022 пользователем CiberZold Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты