Перейти к содержанию
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

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


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

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

Может кто нибудь поделиться правкой для добавления анимаций 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

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


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

Ас-саляму алейкум в хату, господа!
У пластинки возникло несколько вопросов, помогите, пожалуйста, получить ей ответы:

  1. Возможно ли собрать из исходников т.н. "билды", дорелизные версии?
  2. Касаемо Microsoft ® Visual Studio ®. Есть ли портабельная версия, шоб вот так, без установки. Распаковал и арбэйт?
Изменено пользователем vinip12604

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


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

Всем привет, собрал движок от билда 2571 и при запуске вот такая ошибка

***STOP*** file '.\ResourceManager_Resources.cpp', line 298.
***Reason***: *** API-failure ***
The function called is not supported at this time
Expression: _hr
***STOP*** file '(null)', line 0.

Но если поставить оригинальные файлы xrRenderR1,R2 то ошибка пропадёт и всё будет работать нормально

Вопрос : как исправить ?(

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


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

Вопрос : как исправить ?(

Вот что гласит по этому поводу справочник вылетов:

Цитата

Ошибка:

Проблема с одним из шейдеров в формате *.vs

Решение:

Чтобы определить какой именно из них вызывает ошибку, попробуйте по очереди удалять *.vs шейдеры, и проверять запускается ли игра.

 

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

EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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


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

Вот что гласит по этому поводу справочник вылетов:

Ошибка:

Проблема с одним из шейдеров в формате *.vs

Решение:

Чтобы определить какой именно из них вызывает ошибку, попробуйте по очереди удалять *.vs шейдеры, и проверять запускается ли игра.

298 строка это в функции  CreatePS  скорее всего это в формате .ps , вот блин, шейдеры вроде как оригинальные стоят, что же за движки корявые? Или это я что то не так сделал. До этого компилировал исходники за 10 января 2007, такая же ошибка была

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


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

298 строка это в функции  CreatePS  скорее всего это в формате .ps

А у тебя лог точно такой как ты привел здесь?

В нем разве нет строчки типа:

Function  : CResourceManager::_CreateVS

Или CreatePS?

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

EaRLNb6.gif
AMD FX-8370 (8 X 4.35GHz); RAM 16Gb; MSI GTX 1070 (8Gb).
Windows -10 PRO (х64)

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


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

 

В нем разве нет строчки типа:


Function  : CResourceManager::_CreateVS

 

Нет , даже скриншот предоставлю , исходники брал отсюда https://github.com/xrayFan/xray_historyspacer.png

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


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

* собрал движок от билда 2571 *

Значится можно собрать дорелизные версии? Пластинка удовлетворена сей фактом.

В 14.09.2022 в 12:31, chaek08 сказал:

Вопрос : как исправить ?(

Пластинке интересно знать, с какой версией DirectX (DirectX SDK) было собрано сие?
Есть ли в папке с бинарниками соответствующие библиотеки от D3DX? Или установлены ли упомянутые библиотеки в системе?

В качестве примера пластинка приводит: для релизной версии нужно было наличие d3dx9_31, вроде как.

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

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


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

Значится можно собрать дорелизные версии? Пластинка удовлетворена сей фактом.

Пластинке интересно знать, с какой версией DirectX (DirectX SDK) было собрано сие?
Есть ли в папке с бинарниками соответствующие библиотеки от D3DX? Или установлены ли упомянутые библиотеки в системе?

В качестве примера плстинка приводит: для релизной версии нужно было наличие d3dx9_31, вроде как.

Да, на изи оказывается собирается!!! Собирал с целью править FOV для 21:9 мониторов

Правда чтобы собрать новичку нужно  использовать Visual Studio 2003

qK8xIb8AA6M.jpg?size=1711x958&quality=96

Собрано на directx9, ошибок при сборке не было. Всё в папке бин есть, я же говорю что с оригинальными файлами рендера всё шикарно работает.

Но FOV править всё таки смог 🙂

3Bkg_ELNTg8.jpg?size=2560x1080&quality=9


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

Но это может быть связано с dx9sdk ?

Просто брал эту папку с stk-src-tags.7z\tags\shadow of chernobyl\stalker patch 1.0004 (30.07.2007)\SDK\


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

Решил поставить dx9sdk_dec2005 и выдало такое при запуске

***STOP*** file '(null)', line 0.
***Reason***: *** Fatal Error ***
Pclass MATRIX_COLUMNS unsupported
***STOP*** file '(null)', line 0.
***Reason***: *** Internal Error ***


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

Помогите, с чем это может быть связано?

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

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


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

Да, на изи оказывается собирается!!! *

Правда чтобы собрать новичку нужно  использовать Visual Studio 2003

Пластинке видится, что данные манипулации исполнялись на Microsoft © Windows © XP, и ей чувствуется запах виртуализации. Такой способ сборки пластинкой понимается как эдакая дичь. Пластинке такое не подходит, она и так творит слишком много несусетветной дичи.
Возможно ли собрать в современных Visual Studio ©?

Цитата

Собрано на directx9, ошибок при сборке не было. Всё в папке бин есть, я же говорю что с оригинальными файлами рендера всё шикарно работает.

В ответ на сие цитату пластинка сообщает следующее:

Данная ошибка связанна с тем, что обламывается компиляция шейдера, а компилятор есть часть D3DX.

Разработчики всеми любимой в целях улучшения платформанезависимости и портабельности захардкодили определенную версию упомянутого. Да, пластинка не то что не программист, но даже не человек, но тем не менее она сталкивалась с подобной проблемой.

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

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


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

Пластинке видится, что данные манипулации исполнялись на Microsoft © Windows © XP, и ей чувствуется запах виртуализации. Такой способ сборки пластинкой понимается как эдакая дичь. Пластинке такое не подходит, она и так творит слишком много несусетветной дичи.
Возможно ли собрать в современных Visual Studio ©?

Да это выглядит по дебильному, ну а что я сделаю? Я не шарю как собирать в современных версиях.


Дополнено 1 минуту спустя
4 часа назад, vinip12604 сказал:

 

Данная ошибка связанна с тем, что обламывается компиляция шейдера, а компилятор есть часть D3DX.

Разработчики всеми любимой в целях улучшения платформанезависимости и портабельности захардкодили определенную версию упомянутого. Да, пластинка не то что не программист, но даже не человек, но тем не менее она сталкивалась с подобной проблемой.

Так и что с этим можно сделать? 

Я понял что это связано с dx9sdk, но тогда какую версию надо брать?


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

Я так понимаю разработчики использовали dx9sdk с правками, ибо выдает ошибку что класс не поддерживается

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

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


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

Я так понимаю разработчики использовали dx9sdk с правками, ибо выдает ошибку что класс не поддерживается

Они не могли этого сделать, ибо для того чтобы вносить правки в DXSDK надо иметь исходники Windows ©.
Пластинка уверяет!

Цитата

Я понял что это связано с dx9sdk, но тогда какую версию надо брать?

В папке с бинарниками должна лежать d3dx9_**.dll, где ** - версия SDK, с которой собрано.
Ну или в системной директории.
Там у них макрос был вроде, который это дело определяет. D3D_SDK_VERSION кажется.

А ещё лучше заглянуть в ResourceManager_Resources.cpp и посмотреть что там и как.
И воспользоваться секретной вундервафлей

Спойлер

отладчиком

 

Изменено пользователем vinip12604
  • Аплодисменты 1

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


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

 

Пластинке интересно знать, с какой версией DirectX (DirectX SDK) было собрано сие?
Есть ли в папке с бинарниками соответствующие библиотеки от D3DX? Или установлены ли упомянутые библиотеки в системе?
 

Спасибо большое за наводку! Я поставил directx sdk за dec 2005 , и всё заработало шикарно!!

И возник вопрос, как в конфигурации Relise вернуть красные надписи справа от миникарты?

MCYeKqYCW4M.jpg?size=1024x768&quality=96

 

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


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

И возник вопрос, как в конфигурации Relise вернуть красные надписи справа от миникарты?

Перетащить в релиз консольные команды из Mixed, Debug.
Судя по скриншоту это что-то вроде ai_dbg_lua.
Пластинка уже запамятовала.

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


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

Перетащить в релиз консольные команды из Mixed, Debug.
Судя по скриншоту это что-то вроде ai_dbg_lua.
Пластинка уже запамятовала.

Окей, попробую


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

Не помогло, всё выводится только в консоли, собрал на mixed 

dWQ8V_tljfo.jpg?size=1024x768&quality=96

1Yk5vvHttcs.jpg?size=1024x768&quality=96


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

 

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

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


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

Добрый вечер товарищи,  как мне вернуть тени от травы в патчах? Я знаю что мне придётся править движок, но где??? Можно какую-то наводку, и как получилось что тени от травы пропали?? Их специально убрали или по ошибке?

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


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

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

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

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

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

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

Войти

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

Войти

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

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