Перейти к содержанию
AziatkaVictor

Редактирование движка

Рекомендуемые сообщения

 

Автор темы: 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)

Спойлер

Спойлер

Ссылка: ЯндексДиск

Изменения:

  • Анимация ходьбы 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)

Ссылка: ЯндексДиск


Спойлер






Спойлер

Советы:

Так же в теме можно задавать различные вопросы, связанные с редактированием движка.

  • Лайк 2
  • Хабар 1
  • Спасибо 2

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет! Собрал движок из исходников 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-буффера и принудительной очистки пула моделей при завершении игры???

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
18 минут назад, Zloy i Derzkiy сказал:

Заметил что в патче от lvg_brest

Автор не все из 1.0007 переносил как есть

18 минут назад, Zloy i Derzkiy сказал:

stalker final update

Тут вообще XRay Extension для 1.0006, а не 1.0007

Изменено пользователем Stern-13

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Ошибка на стороне пользователя. Сам неоднократно работал с 1.0007(rc1) и такого не встречал 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
2 часа назад, Stern-13 сказал:

Тут вообще XRay Extension для 1.0006, а не 1.0007

Вот этого не знал, хотя действительно можно было догадаться. Думал что в 2k22 при наличии исходного кода в открытом доступе никто не будет правками из x-ray extensions пользоваться. Ведь в самом коде гигантское количество багов и недочетов которые extensions не исправляет, но которые просто Must Have в проекте направленном на устранение косяков оригинала.


Дополнено 9 минуты спустя
2 часа назад, ForserX сказал:

Ошибка на стороне пользователя. Сам неоднократно работал с 1.0007(rc1) и такого не встречал 

Вот ради интереса ревертнул всё внесенные правки, за исключением путей к библиотекам dplay и directx конечно же. Оставил код в том виде в котором скачал из интернета, собрал - вылет никуда не делся. Может сам архив с исходниками не там где нужно было скачал?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

macron привет, подтверждаю, твой движок с вертикалкой еще имеет исправленный видеобуфер, вылетов нет)

  • Мастер! 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 23.06.2022 в 09:54, Hozar_2002 сказал:

AsuraH Не очень понимаю зачем вам вырезать hemi освещение, без него игра выглядит куда более мерзко, однако не мне вас осуждать. Достаточно в шейдре hmodel.h заменить расчет hscale на подобный код image.png.36eb683afdfc233a7583e231e998a18d.png Это сохранит вертикальность hemi освещения, но позволит вам не использовать для этого карты освещения.

Да нет, почему?

Если убрать Hemi, и включить бампы. То смотрится так же как та же динамика но без теней от объектов (Не включаю их потому что ФПС жрет паскуда) 

И без этого странного блеска на моделях

IMG_20220701_221307_083.jpg

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

AsuraH 
Этот странный блеск называется спекуляром. И если его нормально настроить - выглядит шикарно. Просто все любят в модификациях выкручивать блеск до заоблачных пределов и из-за этого все выглядит очень не очень.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
Только что, HollowKrueger сказал:

AsuraH 
Этот странный блеск называется спекуляром. И если его нормально настроить - выглядит шикарно. Просто все любят в модификациях выкручивать блеск до заоблачных пределов и из-за этого все выглядит очень не очень.

Не совсем так...

Спекуляр работает за счёт Бамп мапов. А странный блеск идёт за счёт hemi 

Это хорошо видно если выключить солнце. Или в пасмурную погоду. Модели блестят словно в масле обмазанны

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
35 минут назад, AsuraH сказал:

Модели блестят словно в масле обмазанны

Это может происходить изза местной реадизации IBL. Если вам это не очень нравится, то можно просто переписать функцию так, чтобы она не учитывал #small скайкубы. Базовое освещение станет более плоским, но тогда не придется отказываться от затенения внутри помещений.

UPD: Вот псевдокод такой реализации

hdiffuse = env_color.xyz * env_color.xyz * h + L_ambient.xyz;
hspecular = 0.0f;

 

Изменено пользователем Hozar_2002


image.png.489a34a67081676c25779ea216ba3788.png


 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
22 минуты назад, Hozar_2002 сказал:

Это может происходить изза местной реадизации IBL. Если вам это не очень нравится, то можно просто переписать функцию так, чтобы она не учитывал #small скайкубы. Базовое освещение станет более плоским, но тогда не придется отказываться от затенения внутри помещений.

UPD: Вот псевдокод такой реализации


hdiffuse = env_color.xyz * env_color.xyz * h + L_ambient.xyz;
hspecular = 0.0f;

 

Да, спасибо. Разобрался уже.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет

Подскажите пожалуйста кто работал с движком для ТЧ 1.0004.

Хочу добавить телепортацию в demo_record, но не знаю исходники какие нужны и как собирать. Какой файл редактировать и что изменять это нашел.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Alex Kireev обратись к Макрону, он-гений движковых правок.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Спасибо, не ко мне. Я пока движки не компилирую.

  • Жму руку 1

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 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

Изменено пользователем RayTwitty

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
5 часов назад, Alex Kireev сказал:

Какой файл редактировать и что изменять это нашел.

так напиши, что за файл нашёл и что там надо править, тогда и легче подсказать и понять, что тебе надо будет дальше делать)

Изменено пользователем CiberZold

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Всем доброго вечера.

Может кто нибудь поделиться правкой для добавления анимаций Start_sprint и end_sprint? Нужно для адаптации Gunslinger оружейки 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Всем привет, вопрос по добавлению артефактам новых свойств, например восстановления пси здоровья и переносимый вес. Подскажите, как это добавляется?


Дополнено 21 минуты спустя
В 28.05.2022 в 12:00, liner сказал:

Чушь собачья. Не чисто отображение в инвентаре. Вы сами не знаете, как устроены шлемы в ЗП. Если не знаете вообще, то и не говорите вообще.
Для шлема в движковом коде ЗП отдельно созданы:

  • клиентский класс (CHelmet)
  • серверный класс (cse_alife_item_helmet вроде)
  • рассчёт урона по голове (с учётом шлема)
  • слот в инвентаре
  • в конце концов шлем как отдельный предмет!!!

Все что обозначено пунктами выше и нужно перенести из ЗП, чтобы добавить шлемы для ТЧ.


Дополнено 0 минут спустя

Естественно. Это два разных объекта же, с разными свойствами.

А где прописан рассчёт урона по голове?  в какой файле

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 05.07.2022 в 03:31, RayTwitty сказал:

Это судя по всему я и предлагал ? 

https://www.gameru.net/forum/index.php?s=&showtopic=23443&view=findpost&p=1696840

Да уж, выходит я действительно не чистые исходники скачал, а с уже внесенными кем-то правками!!! (но точно не xp-dev)  Скачивал на совсем недавно закрытом сайте chernobyl-soul.


Дополнено 14 минуты спустя

Кстати ссылки на оригинальные исходники 1.0007rc1 уже поумирали все.  Но все же нашёл у одного неизвестного мне гражданина на яндекс диске архив с оригинальным паролем, с которым он был слит в сеть в далеком 2014-м.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

STaLKeRoc в каком-то файле типо helmet damage.cpp, точно название не помню, но суть в том, что там урон так же считается как и с комбезом, то есть если шлем пробили (bone armor < ap пули, то расчёт идёт по формуле типа :

(ap пули -BA кости куда попали)/ ap пули отсюда получается число от 0 до 1 которое умножается на урон игроку ( хит пушки*хит патрона), либо если это число полученное по формуле меньше hit fraction комбеза/шлема берётся hit fraction и множится на урон пушки и патрона,

если же пуля броню не пробила (bone armor > ap пули) то берётся hit fraction комбеза/шлема умножается на урон пушки и патрона.

прикол только в том, как я писал уже в теме, что в оригинале ЗП все шлемы hit fraction = 1 , то есть без правок конфигов шлемов  разницы нет в каком ты шлеме, если попадут в голову урон будет одинаковый, единственно разница, что если броня не пробита не будет кровотечения, ну в моём эксперименте, я делал себе непробиваемый комбез и стоял БЕЗ шлема и неписи меня не могли убить в упор, поэтому либо неписи вообще не попадают в голову и шлем бесполезен либо броня комбеза влияет и на голову и шлем тоже бесполезен))

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
28 минут назад, CiberZold сказал:

STaLKeRoc в каком-то файле типо helmet damage.cpp, точно название не помню, но суть в том, что там урон так же считается как и с комбезом, то есть если шлем пробили (bone armor < ap пули, то расчёт идёт по формуле типа :

(ap пули -BA кости куда попали)/ ap пули отсюда получается число от 0 до 1 которое умножается на урон игроку ( хит пушки*хит патрона), либо если это число полученное по формуле меньше hit fraction комбеза/шлема берётся hit fraction и множится на урон пушки и патрона,

если же пуля броню не пробила (bone armor > ap пули) то берётся hit fraction комбеза/шлема умножается на урон пушки и патрона.

прикол только в том, как я писал уже в теме, что в оригинале ЗП все шлемы hit fraction = 1 , то есть без правок конфигов шлемов  разницы нет в каком ты шлеме, если попадут в голову урон будет одинаковый, единственно разница, что если броня не пробита не будет кровотечения, ну в моём эксперименте, я делал себе непробиваемый комбез и стоял БЕЗ шлема и неписи меня не могли убить в упор, поэтому либо неписи вообще не попадают в голову и шлем бесполезен либо броня комбеза влияет и на голову и шлем тоже бесполезен))

Понял, спасибо!

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
В 05.07.2022 в 03:31, RayTwitty сказал:

Это судя по всему я и предлагал ? 

https://www.gameru.net/forum/index.php?s=&showtopic=23443&view=findpost&p=1696840

Я не нашел такого способа.

Дело не в самом факте редактирования, а в том, что обновили версию Lua или luabind (уже не помню). В их движках скорее всего не обновляли, поэтому и последствий не было.

Вот тут я начинал разбор вопроса: https://www.gameru.net/forum/index.php?s=&showtopic=23443&view=findpost&p=1696594

Спасибо за ответ и ссылку на форум. Но вот в чем дело - изначально я грешил на кривые исходники, но скачав оригинальный архив, тот что был изначально слит в 2014-м году с паролем ljlLHhklknlked , через Github Desktop я обнаружил что отличаются они от того архива что я скачивал ранее только тремя файлами в xrCPU_Pipe, т.е в них абсолютно оригинальный xrLua, сам я тоже ничего не обновлял, и последствий быть не должно - однако они есть.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

Zloy i Derzkiy чтобы собрать те исходники, которые слили в 2014, вроде пришлось какие-то либы принудительно обновлять. На дефолте не собиралось. Смутно конечно помню уже, K.D. с ними сидел не один день. Я кстати спрашивал на форуме по ссылке, какое конкретно нововведение могло поломать логику, но мне толком ничего не ответили. А разбираться было лень. Одно могу сказать, больше никаких затычек, кроме той что в таск менеджере, я не делал и все вроде работает.

Хотя по хорошему, там надо save/load поправить, чтобы валидные айди передавались, это наверно будет правильнее.

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

STaLKeRoc я так понимаю ты делаешь мод на ТЧ, если это не критично важно, то советую перейти на ОГСР движок, там уже в движке есть поддержка  артефактам восстановления пси-здоровья, а комбезам свойств артов вроде реген здоровья и пр., т.е. тебе не надо править движок, а просто в конфигах артов или комбезов прописываешь нужные свойства и всё будет работать?

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 
4 часа назад, CiberZold сказал:

STaLKeRoc я так понимаю ты делаешь мод на ТЧ, если это не критично важно, то советую перейти на ОГСР движок, там уже в движке есть поддержка  артефактам восстановления пси-здоровья, а комбезам свойств артов вроде реген здоровья и пр., т.е. тебе не надо править движок, а просто в конфигах артов или комбезов прописываешь нужные свойства и всё будет работать?

Да, хочу сделать мод на тч. Насчёт по ОГСР, я знаю, что там есть поддержка этого всего добра. Просто хочется своё что-то сделать 

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты
 

А как оборвать анимацию у предмета на HUD?

Изменено пользователем liner

Поделиться сообщением


Ссылка на сообщение
Поделиться на другие сайты

Для публикации сообщений создайте учётную запись или авторизуйтесь

Вы должны быть пользователем, чтобы оставить комментарий

Создать учетную запись

Зарегистрируйте новую учётную запись в нашем сообществе. Это очень просто!

Регистрация нового пользователя

Войти

Уже есть аккаунт? Войти в систему.

Войти

  • Последние посетители   0 пользователей онлайн

    Ни одного зарегистрированного пользователя не просматривает данную страницу