AziatkaVictor 3 923 Опубликовано 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 Как оформить тему Правила форума Вопросы по сайту Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
macron 932 Опубликовано 9 марта, 2021 (изменено) Для себя чуток поковырял тему анимки без оружия в ТЧ (она же используется и для бинокля). Называется norm_torso_0_aim_0. На крайняк на ТЧ можно прицепить билдовариант, чтобы не бегал враскоряку. Из проблем, с ней торс немного поворачивает, хотя в сдк нормально. Видимо, как-то под билдомодели настроена. Изменено 9 марта, 2021 пользователем macron Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AziatkaVictor 3 923 Опубликовано 9 марта, 2021 liner глупо говорить "учите с++", как правило, такие "изучения" приводят к примитивным инициализациям переменных и некоторым циклам и разветвлениям. По сути, это все что может понадобиться (очень утрированно). Но если знаешь основы, это не значит, что сможешь понять что там ПЫС в 2007 написали. Одно дело работать со своим кодом, где понятно, какая функция за что отвечает. И другое дело, когда среди куч функций чужого кода, промелькивают понятные тебе кусочки. Тут нужно не учит язык, а учить движок и понимать, как он устроен. Понимать, какой файл за что отвечает, а сделать это без сторонней помощи очень трудно, наверное даже труднее, чем разобраться в СДК. 1 Как оформить тему Правила форума Вопросы по сайту Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ggGhosTt 33 Опубликовано 9 марта, 2021 (изменено) AziatkaVictor но это не отменяет необходимости изучения самого языка. Да, структуру проекта тоже важно понимать, но, как правило, это приходит с практикой работы на том ЯП, на которым и был сделан проект. У ПЫСов не какая-то явно-отличная структура от других проектов на Cpp. А насчёт качества "изучений" - тут уж никто не застрахован. Все равно с опытом прийдет осознание своих ошибок. Тут скорее вопрос в цели - если хочется просто чужие правки тянуть из репозов а-ля OXR, то может, знание языка и не столько нужно, сколько понимание структуры проекта, в остальном - начинать стоит с самого ЯП. Изменено 9 марта, 2021 пользователем ggGhosTt Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
AziatkaVictor 3 923 Опубликовано 9 марта, 2021 ggGhosTt ну это понятно. Я имел ввиду то, что человеку явно нужна небольшая правка, в движке он не разбирается, а начинать его изучать, явно долгое и непростое занятие. Одно требует знание второго, второе третьего и так далее. К чему я клоню, не стоит так давить на новичков словами "За вас всё время работать не собираются", так как смысл этой темы просто пропадает, если нельзя надеяться на чужую помощь. 1 1 Как оформить тему Правила форума Вопросы по сайту Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Никсон 562 Опубликовано 10 марта, 2021 17 часов назад, antosha сказал: раскачка для ЗП Нету на ЗП никакой раскачки. Да и не нужна: у вас же есть возможность назначать анимации ходьбы 17 часов назад, antosha сказал: исходниках нету файлов weaponhud.cpp и weaponhud.h Это нормально. В ЗП другая система оружия (насколько я помню) 1 Проект Back To The S.T.A.L.K.E.R. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ZV4X 29 Опубликовано 23 марта, 2021 Ребят, а возможно ли вытащить из движка некоторые конфиги? Типо что бы не компилировать каждый раз по часу, а сделать ссылки из движка на такой-то конфиг допустим или как... Например сделать ссылку из XrGame на dllку с одним только файлом UiMainIngameWindow.cpp (ну, так, к слову), что бы весь движок не пересобирать а только эту дллку? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Sin! 80 Опубликовано 23 марта, 2021 40 минут назад, ZV4X сказал: Ребят, а возможно ли вытащить из движка некоторые конфиги? Типо что бы не компилировать каждый раз по часу, а сделать ссылки из движка на такой-то конфиг допустим или как... Например сделать ссылку из XrGame на dllку с одним только файлом UiMainIngameWindow.cpp (ну, так, к слову), что бы весь движок не пересобирать а только эту дллку? К сожалению, "конфигов" в движке как-то не водится, поэтому вытащить их возможным не представляется ?. А вот вытащить отдельные функции и классы для ускорения сборку в отдельную DLL вполне возможно, хотя и немного геморно. Впрочем, в сети хватает примеров - например, тут. 1 Bury your memories, bury your friends. Leave it alone for a year or two Till the stories go hazy and the legends come true. Then do it again. Some things never end... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ZV4X 29 Опубликовано 23 марта, 2021 Sin! Спасибо, поглядим. А возможно-ли как-нибудь декомпилировать dll-ки? Просто у меня другой xrGame(как я понял) и исходников с него у меня нету, да и нигде нету походу. А править мне нужно именно его, ибо я только что правил исходники, собрал xrGame и в логе игры получил ошибку "error 2" Не пашет короче... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Sin! 80 Опубликовано 23 марта, 2021 22 минуты назад, ZV4X сказал: А возможно-ли как-нибудь декомпилировать dll-ки? Смотря что понимать под декомпиляцией. Если получение полностью готового к сборке набора исходников - то, естественно, нет. Компиляция - процесс однонаправленный, и её результат, подобно фаршу, в обратную сторону не провернёшь. Но если задача заключается в исправлении уже готового бинарного файла (не самое простое занятие, предупреждаю), то декомпилировать машинный код из него в Си-подобный псевдокод вполне можно. Да, собрать обратно результат такой декомпиляции не выйдет, но вот анализировать происходящее "под капотом" движка после этого может стать полегче. Выбор инструментария, который может подойти для этой цели, невелик - на ум приходят разве что Hex-Rays Decompiler (плагин для IDA Pro) и Ghidra. Bury your memories, bury your friends. Leave it alone for a year or two Till the stories go hazy and the legends come true. Then do it again. Some things never end... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ZV4X 29 Опубликовано 23 марта, 2021 (изменено) Sin! Блиин. Короче у меня есть исходники не от моей версии так сказать, так вот, я знаю что мне нужно поменять и в каком файле, но после сборки оно всё не работает(не подходит видимо(там даже размеры файлов отличаются на 300кб)). Задача - изменить готовый dll не прибегая к использованию исходников. Ибо их нет. Сделать патч допустим через иду или как-то ещё. Цитата декомпилировать машинный код из него в Си-подобный псевдокод вполне можно. Да, собрать обратно результат такой декомпиляции не выйдет Можно ли после подобных манипуляций типо "редактировать Си-подобный псевдокод" собрать патч с правками для готового длл, раз саму длл не получится собрать? Потому что больше даже идей нету как сделать можно что-то такое Изменено 23 марта, 2021 пользователем ZV4X Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Sin! 80 Опубликовано 23 марта, 2021 28 минут назад, ZV4X сказал: Можно ли после подобных манипуляций типо "редактировать Си-подобный псевдокод" собрать патч с правками для готового длл, раз саму длл не получится собрать? Потому что больше даже идей нету как сделать можно что-то такое Нет, редактирование псевдокода ничего не даст - декомпиляторы созданы для облегчения анализа, а не для патчинга. Придется (так или иначе) править сам машинный код. Если при этом хочется иметь поменьше дел с ассемблером и побольше с языками уровнем повыше (по-моему, нормальное желание вменяемого любого прогера), то могу посоветовать изучить, как устроены движковые правки в GUNSLINGER и FreeZone (из последнего, кстати, можно еще и мини-фреймворк утащить для удобного создания врезок по нужным адресам, чтобы совсем избавиться от асмы в коде). Да, там всё реализовано на Delphi, но суть не меняется, эту схему можно заюзать и на любом другом языке (лишь бы WinAPI дёргать позволял напрямую). Суть у неё такова: сначала на нашем любимом языке высокого уровня пишем DLL, которая реализует требуемый функционал и в нужных местах пропатчит нам движок врезками, а потом где-нибудь на старте движка инжектим эту ДЛЛ в процесс игры и наслаждаемся результатом. 1 Bury your memories, bury your friends. Leave it alone for a year or two Till the stories go hazy and the legends come true. Then do it again. Some things never end... Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ZV4X 29 Опубликовано 23 марта, 2021 (изменено) Sin! Спасибо за много инфы:) В общем я заставил работать собраный движок ? Изменено 23 марта, 2021 пользователем ZV4X Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Кефир 768 Опубликовано 23 марта, 2021 Может быть кто-нибудь подскажет - как подредачить версию игры? Сначала хочу попробовать оригинальной движок удалить это "ver. 1.0006", потом уже ОГСРку можно попробовать. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Никсон 562 Опубликовано 26 марта, 2021 16 минут назад, antosha сказал: При компиляции движка выскакивает 8к ошибок, которые ссылаются на файлы, которых в исходниках нет вообще! Мб тебе нужно перенастроить решение. Такое обычно бывает, когда двиг задан под, например, win8 sdk, а у тебя этого компонента нету Проект Back To The S.T.A.L.K.E.R. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
!Samagon 1 Опубликовано 10 апреля, 2021 А нет исходников СДК случайно? Где-то видел, но потерял. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
xorda 2 Опубликовано 11 апреля, 2021 (изменено) Всем здравия желаю! У меня возник вопрос по поводу сборок файлов типа dll для сталкера ТЧ 1.0006. Я пытаюсь изменить название быстрого сохранения с "ИмяПользователя_quicksave" на "дата_quicksave". Меня сейчас интересует один момент. Какими программами нужно собирать dll файлы и с какими настройками, с каким компилятором (Я слышал, что используют VisualStudio, но можно ли использовать другие программы? К примеру, подойдёт ли codeblocks?)? На данный момент мне уже не нужна помощь! Я уже решил свою задачу с сохранениями. Изменено 13 апреля, 2021 пользователем xorda Решение своей задачи я выполнил через скрипты.))) Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
ForserX 113 Опубликовано 16 апреля, 2021 В 10.04.2021 в 18:28, !Samagon сказал: А нет исходников СДК случайно? Где-то видел, но потерял. Любые сорцы (ЧИСТЫЕ) выкачай, там и будут. 1 Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SMDX 0 Опубликовано 17 апреля, 2021 Приветствую. В исходнике движка Anomaly, создал секцию анимации оружия. Собрал решение в Visual Studio, закинул билд в корень аномалии, прописал в конфиге анимацию. В игре анимация не проигрывается. Возможна я не правильно закинул сборку. Вопрос. Куда после компиляции решения, положить полученный билд? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
mayki 0 Опубликовано 19 апреля, 2021 --[[ --------------------------------------------- File : sk_actor_dead.script Description: Смерть ГГ от первого лица Copyright : 2011 © Cut X-Ray mod Author : SkyLoader -------------------------------------------------]] local flag = false local flag_dead,flad_circle = false,false local time,time_c = 0,time_global() + 500 function is_killed() if not db.actor:alive() then if not flag_dead and not flad_circle then local dir=device().cam_dir db.actor:set_actor_direction(dir.x,dir.y,0) --'выравниваем направление взгляда, чтобы было падение более реалистичным level.add_cam_effector("camera_effects\\surge_03.anm", 2532, false, "") level.add_pp_effector("surge_fade.ppe", 2011, false) level.disable_input() time = time_global() flag_dead=true end if flag_dead then if time_global()-time>3000 then level.enable_input() level.add_pp_effector("deadcity_wake.ppe", 4467, false) flag_dead=false flad_circle=true end end if flad_circle then if time_c<=time_global() then level.remove_pp_effector(4467) level.add_pp_effector("deadcity_wake.ppe", 4467, false) time_c = time_global() + 500 end end end end что дописать чтобы после выполнения сам выкидывал в меню Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Misery 433 Опубликовано 20 апреля, 2021 Как правильно компилить движок CoC'а? В исходниках вроде как в каждой папке есть свой компилятор библиотеки, мне например нада скомпилировать только xrGame, там должен иметься сборщик библиотеки. Clear Sky: Gunslinger Addon Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Alex Kireev 18 Опубликовано 30 мая, 2021 Всем привет На одном сайте нашел Цитата свойства: bleeding (кровотечение), satiety (сытость) и alcohol (алкоголь), к сожалению, скриптовому воздействию не поддаются (?) и поэтому изменять их нужно посредством соответствующих движковых параметров в конфигах предметов. Правильно ли я понимаю, что кровотечение и сытность нельзя менять с помощью скрипта, а только отслеживать. И в ТЧ, версии 1.0004 отслеживание происходит только кровотечения, а голода и алкоголя нет Что можно сделать что бы обойти это ограничение и менять параметры сытности, кровотечения и алкоголя через скрипт? Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Lagrange 1 Опубликовано 4 июня, 2021 Кто-нибудь знает, как изменить параметр Viewport_near в gunslinger, у них же движок ассемблерный, на чистом зп наполовину работает, только артефакты начались, но это можно пофиксить. Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
mortan 292 Опубликовано 4 июня, 2021 Lagrange дождись обновы с грозой, разработчик уже сделал нужный фикс. Boomsticks & Sharpsticks: https://discord.gg/vThnFWrbaA Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
Lagrange 1 Опубликовано 4 июня, 2021 Черт побери, прекрасная новость, а то я так с ним намучался Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты
SkyLoader 229 Опубликовано 12 июня, 2021 В 19.04.2021 в 12:05, mayki сказал: что дописать чтобы после выполнения сам выкидывал в меню Строку: flad_circle=true заменить на: get_console():execute("main_menu on") Поделиться сообщением Ссылка на сообщение Поделиться на другие сайты