Редактирование движка |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Редактирование движка |
22.01.2016, 17:18
Сообщение
#4501
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Регистрация: 24.09.2010 |
Редактирование собранного движка Проект Cut X-Ray Цель проекта - создание отдельных изменений движка игры с их последующей комбинацией с другими правками. Авторы: SkyLoader, _призрак_ Для платформ: ТЧ 1.0004 и 1.0006, ЧН 1.5.10, ЗП 1.6.02 Адрес проекта на Google Code: Страница на Moddb: Пак 1 1. Исправление вылета "can't find rank" для оружий. 2. Смерть от первого лица. Видео: 3. Collide Возвращена коллизия мертвых тел с неписями и актором, как она сделана в старой физике билдов. Видео: 4. Круглый прицел. Возвращен круглый прицел вместо перекрестья, как билдах. 5. Исправление вида от 3-го лица. Изменено положение камеры от 3-го лица (1). Стрельба идет по перекрестью, а не по направлению актора. Если включить вид от 3-го лица (1) и удерживать Shift, то ГГ будет автоматически целиться в ближайшего непися или монстра. Проблемы: Стрельба по перекрестью идет также при виде от 3-го лица (2). Если при автоматическом нацеливании непись/монстр удалится или перейдет в оффлайн, будет движковый безлоговый вылет. Я думал вырезать это нацеливание, но решил оставить. Пак 2 1. Luminosity progress (только ТЧ) Возвращение шкалы освещения вместо шкалы "заметности" ГГ, как в билдах. 2. Запрет на доставание оружия в машине (только ТЧ и ЧН) и на лестнице (ТЧ, ЧН, ЗП). 3. Руки на руле в машине. (только ТЧ и ЧН) Видео: 4. Отсутствие распознавания неписей перекрестием: При наведении на непися перекрестье имеет дефолтный цвет. Также не показывает информацию о неписе, если смотреть на него. 5. Bind_object: Возможность использовать скрипты в мультиплеере. 6. Из оружия на классе бинокля можно стрелять (только ТЧ) Пак 3 1. Включение некоторых команд без использования ярлыка. Можно патчить по отдельности. Команды: -smap_4096 (максимально улучшенные карты теней), -mblur (включение блюра). 2. Измененная анимация безоружного гг. 3. Увеличение дистанции диалога с неписями (для создания сценок на расстоянии) 4. Исправление вылета при использовании предметов из трупов неписей. В отличии от версии Kolmogor'а, здесь отключено само меню использования. 5. Возможность поднимать болты как обычные инвентарные предметы (комбинировать с модом Charsi "Заканчивающиеся болты") Правки от RayTwitty aka Shadows Geometry LOD fix (CS 1.5.10) – расширение диапазона консольной команды r__geometry_lod Camblu crosshair for build 1865 – замена перекрестия прицела на кружок в билде 1865 Vertex buffer fix for NC Project – исправление вылета по переполнению буфера в NC Project NO 100 sovetov fix (COP 1.6.02) – убирает надписи "100 советов" с экрана загрузки Demo Record fix (SOC 1.0006) – убирает красные надписи в режиме demo_record Weapon Bobbing Beta (SOC 1.0006) – раскачка оружия при ходьбе (бета-версия) Build Loadscreen (SOC 1.0006) – билдовский экран загрузки со статичным изображением Detail Density fix (SOC 1.0006) – расширение диапазона консольной команды r__detail_density Mipbias fix (SOC 1.0006) – расширение диапазона консольных команд r1_tf_mipbias и r2_tf_mipbias No Quick Use fix (SOC 1.0006) – запрет на использование аптечек и бинтов по быстрым клавишам Sun Near fix (SOC 1.0006) – расширение диапазона консольной команды r2_sun_near Target Font (SOC 1.0006) – замена шрифта под перекрестием прицела на шрифт DI Unload Magazine fix (SOC 1.0006) – фикс скриптовой функции unload_magazine - теперь патроны разряжаются в инвентарь PNG Screenshots (SOC 1.0006) – игра теперь делает качественные скриншоты в формате png Правки от K.D. Правки от macron Исправленный экзешник для SoC 1.0006 Доработанный и исправленный экзешник для ТЧ 1.0006 (на основе Steam-версии без защиты) Включает в себя исправления вылетов, а также очистку лога игры от засоряющих сообщений. Более подробное описание внутри архива. Ссылка: X-Ray extensions portable Портативная версия расширений движка "X-Ray extensions" Платформы: ТЧ 1.0006, ЧН 1.5.10, ЗП 1.6.02 Эта версия имеет все нужные библиотеки и патчеры, а также настроенные bat-файлы для успешной компиляции. Более подробное описание внутри архива. Ссылка: Правки от Kolmogor Правленный xrGame для SoC 1.0004 Изменения: 1. Добавлена консольная команда fov [5.0, 180.0] - изменяет глобальный FOV камеры. 2. Добавлена консольная команда k_ammo_on_belt [on\off] - включает\выключает использование патронов с пояса. 3. Артефакты работают из рюкзака, а пояс служит контейнером. Ссылка: Правки от Kontro-zzz Изменение значения hud_fov Правки фиксированных значений параметра hud_fov - 0.37 либо 0.53, Должно работать на GOG версии и no DVD. Редактирование исходников Репозитории [SoC] () () () () () () () () () () () [CS] () () () () () () [CoP] () () () () () () () () () () () () () [2.0] () () NDA GSC Оригинальные версии движков Могут понадобиться для восстановления оригинальных библиотек. Официальный мультиплеерный (невышедший) патч для SoC Уроки Изменение плотности травы и создание патча через IDA Pro Автор: _призрак_ edited by: RayTwitty aka Shadows Для редактирования нам понадобится программа IDA Pro. 1. Запускаем IDA Pro. 2. Загружаем бинарник рендера xrRender_R1.dll или xrRender_R2.dll. 3. Теперь необходимо найти, где регистрируется консольная команда. Жмем Ctrl+T и вводим r__detail_density. 4. Находим функцию и тщательно ее разбираем (я ее полностью разбирать не буду, только укажу, где задаются параметры: Код регистрации консольной команды Код fld ds:flt_10064400 -- нижнее ограничение равное 0.6 or dword_1007CACC, 8 sub esp, 8 fstp [esp+30h+var_2C] mov ecx, offset unk_1007CA9C fld ds:flt_10064380 -- верхнее ограничение равное 0.2 fstp [esp+30h+var_30] push offset aSs; "ЪЩЩ>" push offset aR__detail_dens; "r__detail_density" call ds:??0CCC_Float@@QAE@PBDPAMMM@Z; CCC_Float::CCC_Float(char const *,float *,float,float) push offset sub_1005E080; void (__cdecl *)() call _atexit add esp, 4 5. Нам нужно увеличить плотность травы: следовательно нужно изменить верхнее ограничение. Как это сделать? Есть три варианта: Первый и самый логичный вариант: изменить переменную. Но тут есть небольшой подвох на котором я попался - этой переменной может пользоваться не одна функция, а несколько. И не ясно, что вы можете сломать, поменяв одну циферку на другую. Второй: взять другую, уже существующую переменную с подходящим значением. Хороший вариант которым я и воспользовался. Но и тут есть недостаток - переменных в бинарнике не так уж и много и можно просто не найти нужную. Третий: создать переменную. Отличный вариант. Единственный минус - я не знаю как это сделать Я пошел по второму пути. Два раза щелкнув на ds:flt_10064380, IDA отправила меня в дебри под названием .rdata. Там я нашел переменную, которая называлась - flt_1006452C и которая имела значение 0.0720999. Насколько я понял, flt_1006452C - не является названием переменной, это сборка из двух показателей - (тип числа)_(смещение). В нашем случае это число типа float, которое находится по адресу 1006452C. Ну что же, приступим к редактированию! 6. Отправляемся в самое начало файла. Как? Сверху есть что-то типа статус-бара - строка состоящая из синего, серого, черного цвета. Нажимаем там в любом месте мышкой и ведем влево до конца. 7. Опять ищем r__detail_density. Находим в этой функции строку fld ds:flt_10064338. Дальше самое интересное - жмем на вкладку Hex View и там у нас выделяются какие-то цифры. Это наша переменная 10064338, только написано наоборот. Сравните: Код 38 43 06 10 Похоже, не правда ли? 10 06 43 38 8. Начинаем редактировать. Нам нужно поменять 4338 на 452C (т.е. заменить ссылку с одной переменной на другую). Жмем правой кнопкой мыши на этих цифрах и выбираем пункт Edit. Меняем 38 43 на 2С 45. Дальше жмем где-нибудь в коде (это нужно сделать обязательно!). 9. После этого жмем правой кнопкой мыши и выбираем commit changes. Таким образом, мы поменяли ссылку на переменную и теперь верхнее ограничение будет равно значению из другой переменной. Но IDA не меняет исходный файл. В нашем случае мы можем только создать файл изменений. Делается это так: File -> Produce file -> Create DIF file. Назовем его test. Этот файл можно открыть при помощи блокнота и посмотреть, что получилось. 10. Теперь необходимо внести изменения из этого файла в движок. Это можно сделать при помощи патчера bpatch. Качаем, смотрим и запускаем bpatch.cmd. Я думаю, что батник вы сможете изменить самостоятельно (настроить пути файлов и т.п.) - там все элементарно. 11. Все! Изменения внесены в движок, можно тестировать Огромное спасибо Kolmogor'у и malandrinus'у. Если бы не они, я бы ничего не сделал. Спасибо вам еще раз. Спасибо и Rolan'у, с которым я очень много беседовал и тоже узнал много чего Полезные ссылки Сборка движка X-Ray Сообщение отредактировал RayTwitty - 27.08.2021, 00:15 |
 
|
|
|
|
18.03.2020, 22:34
Сообщение
#4502
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Регистрация: 24.09.2010 |
Я как-то писал про баг с дерганием визуала при движении. Мне тогда вроде бы удалось его пофиксить путем изменения некоторых настроек в конфиге модели, но как оказалось этот способ неверный. Просто во время некоторых тестов у машины были отключены фары, а именно при включении фар начиналось это дергание (на деле, скорее всего будет дергаться из-за любого источника света (кроме солнца), если он есть в кадре). Более того, проблема явно не в самой машине. Визуал актора от 3 лица точно также дергается в некоторых ситуациях, то есть очевидно, что проблема общая для всех физ. объектов. Может дело действительно в интерполяции? Кстати способ исправления через консольную команду ph_frequency у меня не сработал, какие бы значения не ставил. я могу потом видео записать как выглядит баг Еще заметил, что баг возникает тогда, когда начинает колбасить внутриигровой счетчик фпс. Верт. синхронизация (движковая) была включена. Изменение ph_frequency ситуации не меняет. upd: Баг действительно зависит от счетчика ФПС - чем больше ФПС (относительно значения ph_frequency), тем сильнее колбасит. Однако, это всё становится неактуально с движковой вертикальной синхронизацией. Когда она включена - результат на видео. Получается, дело в корявом сталкерском vsync, который создает "дырки" вроде: 60-60-58-60-135-60? Сообщение отредактировал RayTwitty - 18.03.2020, 22:59 -------------------- |
 
|
|
18.03.2020, 22:50
Сообщение
#4503
|
|
Почти Мастер Репутация: 111 Группа: Участник Сообщений: 1158 Награды: 3 Регистрация: 07.08.2015 |
RayTwitty, это опять я.
А почему тогда не колбасило раньше в ТЧ ( да и в других ЧН и ЗП)? Я на запароге всю Зону исколесил, и в ТЧ такого не видел. У меня К-700 нет, но могу вот это предложить: |
 
|
|
19.03.2020, 17:30
Сообщение
#4504
|
|
Почти Мастер Репутация: 111 Группа: Участник Сообщений: 1158 Награды: 3 Регистрация: 07.08.2015 |
RayTwitty, поробуй заменить свои xr файлы на оригинальные, если позволят настройки материалов авто.
Возможно у тебя идёт вызов партиклов, блудмарков у колёс авто, от соприкосновения с грунтом. Типа что то подобное при плюхах воды происходит. ...Что то я туплю однако, тогда бы глючило постоянно в движении. Сообщение отредактировал Ленин - 19.03.2020, 17:36 |
 
|
|
21.03.2020, 02:14
Сообщение
#4505
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Регистрация: 24.09.2010 |
Ленин, это всё мимо, дело не в ресурсах. Тоже самое происходит и с моделью актора от 3 лица и вообще наверняка с любым физ объектом.
Баг действительно зависит от счетчика ФПС - чем больше ФПС (относительно значения ph_frequency), тем сильнее колбасит. Однако, это всё становится неактуально с движковой вертикальной синхронизацией. Когда она включена - результат на видео. Получается, дело в корявом сталкерском vsync, который создает "дырки" вроде: 60-60-58-60-135-60? -------------------- |
 
|
|
31.03.2020, 17:57
Сообщение
#4506
|
|
Продвинутый геймер Репутация: 90 Группа: Участник Сообщений: 395 Награды: 3 Регистрация: 07.04.2014 |
Куда переехали сорсы от Alpet и KD? Подскажите пожалуйста
-------------------- no more running
|
 
|
|
31.03.2020, 18:24
Сообщение
#4507
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
|
 
|
|
31.03.2020, 20:03
Сообщение
#4508
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
Однако, это всё становится неактуально с движковой вертикальной синхронизацией. Когда она включена - результат на видео. Получается, дело в корявом сталкерском vsync, который создает "дырки" вроде: 60-60-58-60-135-60? У меня в ТЧ мультиплеере (движок/экзешник пропатчены xray extensions) в игре от первого лица или полете камеры при включенном встроенном ТЧ-всинке тоже какие-то статтеры. Отключаю встроенный всинк, включаю в драйвере ограничитель fps на 120-300, и всё плавно. Видлюха amd rx580. Сообщение отредактировал macron - 31.03.2020, 20:03 |
 
|
|
31.03.2020, 21:15
Сообщение
#4509
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Регистрация: 24.09.2010 |
Однако, это всё становится неактуально с движковой вертикальной синхронизацией. Когда она включена - результат на видео. Получается, дело в корявом сталкерском vsync, который создает "дырки" вроде: 60-60-58-60-135-60? У меня в ТЧ мультиплеере (движок/экзешник пропатчены xray extensions) в игре от первого лица или полете камеры при включенном встроенном ТЧ-всинке тоже какие-то статтеры. Отключаю встроенный всинк, включаю в драйвере ограничитель fps на 120-300, и всё плавно. Видлюха amd rx580. Соответственно возникает вопрос - в чем проблема и как пофиксить вертикальную синхронизацию в сталкере? -------------------- |
 
|
|
07.04.2020, 17:53
Сообщение
#4510
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
Попробовал поковырять раскачку в ТЧ через config\misc\effectors.ltx в секции [bobbing_effector] увеличивая параметр run_amplitude до 1. Раскачка оружия появляется, но вместе с ней дико шатается камера. Если бы движково отвязать камеру от bobbing_effector, то будет нормально. На этом идеи закончились.
Кто не мыcлит жизни без извращений, можете затестить правку конфига (и доделать остальное, гы). Сообщение отредактировал macron - 07.04.2020, 17:55 |
 
|
|
07.04.2020, 23:37
Сообщение
#4511
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Регистрация: 24.09.2010 |
macron, это еще лет 8 назад делали, получается хрень. Дело в том, что после какого-то билда, пыс привязали намертво движение худа в след за камерой. Вместе с раскачкой они похерили "подпрыгивание" оружия во время прыжков актора, а также амплитуду после камэффекторов (когда монстры дубасят, в билдах видно как оружие сильнее мотает) и т.д. То есть получается, никакой раскачки оружия и не было, была раскачка камеры, в след за которой не поспевал худ
Запилить саму раскачку не сложно, можно сделать как ЛА и просто скопипастить движение из раскачки камеры в инерацию. Но это своего рода костыль. Что и где сломали пыс я до сих пор не понял. З.Ы. кстати если включить демо-рекорд и какой-нибудь эффектор камеры, то худ оружия будет следовать за эффектором, а сама камера будет стоять на месте. З.Ы2. В 14 году у меня получилось что-то наковырять, но были косяки во время поворота камеры. Вот правка для ТЧ 1.0006: Сообщение отредактировал RayTwitty - 08.04.2020, 00:34 -------------------- |
 
|
|
08.04.2020, 00:34
Сообщение
#4512
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
В 14 году у меня получилось что-то наковырять, но были косяки во время поворота камеры. Да, да, как раз надысь там байтики пробовал поковырять, но с поворотами лучше не стало...Запилить саму раскачку не сложно, можно сделать как ЛА и просто скопипастить движение из раскачки камеры в инерацию. Но это своего рода костыль. Ну да, есть LA, есть исходники OGSE x64, там тоже отдельно сделано. Тупо хексом вряд ли получится на шестерку перенести, может позже еще изучу.Я просто тему поднял, потому что нашел письмо одного смелого товарища за 2012 год, где он смог остановить раскачку в 2215, и оттуда сделал ряд технических выводов касательно шестерки. Товарищ может еще объявится, поэтому спрошу у него по возможности, что нового... |
 
|
|
08.04.2020, 14:10
Сообщение
#4513
|
|
Игровой Эксперт Репутация: 328 Группа: Участник Сообщений: 2399 Награды: 5 Регистрация: 09.11.2009 |
Двиг мне редактировать не нужно, но нужна помощь. Я тут поставил серию модов апокалипсис в redux версии. Всё прекрасно, кроме одного - там куча размытия. И если общий фон хорошо смотрится, то при прицеливании через мушку - проблема, т.к кто-то сделал что в фокусе только оружие и получается что я целюсь как слепой ( за оружием жесткое размытие). Возможно ли просто через консоль отрубить размытие при прицеливании? Просто архивы закрыты и не хочу заморачиваться над этим.
-------------------- Фотография - это единственный язык, который понятен в любой точке мира. (С)
|
 
|
|
08.04.2020, 17:01
Сообщение
#4514
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
Хорошо было бы добавить поддержку BC7 текстур в X-Ray, убрать старьё bump# + Z-ось и запихнуть все карты в 2 текстуры.
|
 
|
|
08.04.2020, 19:03
Сообщение
#4515
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
Я тут поставил серию модов апокалипсис в redux версии. Всё прекрасно, кроме одного - там куча размытия. Попробуй r2_mblur 0 и r2_aa 0 в консоли. Просто архивы закрыты Что значит "закрыты"? Если не открываются стандартными распаковщиками/коммандером - выложи образец. Сообщение отредактировал macron - 08.04.2020, 19:06 |
 
|
|
14.04.2020, 17:50
Сообщение
#4516
|
|
Продвинутый геймер Репутация: 16 Группа: Участник Сообщений: 222 Награды: 3 Регистрация: 28.06.2016 |
xrModder, с любителями статики придётся попрощаться
|
 
|
|
14.04.2020, 18:24
Сообщение
#4517
|
|
Мастер Игры Репутация: 104 Группа: Участник Сообщений: 1331 Регистрация: 08.08.2018 |
|
 
|
|
17.04.2020, 23:45
Сообщение
#4518
|
|
Новичок Репутация: 1 Группа: Участник Сообщений: 9 Регистрация: 11.09.2019 |
Привет, кто знает причину этого? Спамит в консоль на дебаг сборке.
Цитата - There are no sounds in sound collection "monsters\pseudodog\pdog_idle_" with internal type 12 (sound_script = 27)
- There are no sounds in sound collection "monsters\dog\bdog_idle_" with internal type 1 (sound_script = 27) - There are no sounds in sound collection "monsters\bloodsucker\idle_" with internal type 1 (sound_script = 27) |
 
|
|
21.04.2020, 08:12
Сообщение
#4519
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
Соответственно возникает вопрос - в чем проблема и как пофиксить вертикальную синхронизацию в сталкере? В самой начале CRender::Render() есть такая приблуда: Код if (1) { CTimer T; T.Start (); BOOL result = FALSE; HRESULT hr = S_FALSE; while ((hr=q_sync_point[q_sync_count]->GetData (&result,sizeof(result),D3DGETDATA_FLUSH))==S_FALSE) { if (!SwitchToThread()) Sleep(ps_r2_wait_sleep); if (T.GetElapsed_ms() > 500) { result = FALSE; break; } } } Это принудительный синк для снижения input lag. Ее нужно попробовать отключить ( поставить if(0) ) и проверить. В идеале игре желательно предварительно подготовить около 3-4 кадров для плавной картинки без рывков, особенного когда CPU плохо тянет. А этой фигней мы лишаем этой возможности, оттого игра может идти не плавно даже при высоких фпс. Может твоя проблема в этом. |
 
|
|
25.04.2020, 19:32
Сообщение
#4520
|
|
Почти Игроман Репутация: 59 Группа: Участник Сообщений: 629 Награды: 1 Регистрация: 13.12.2016 |
|
 
|
|
26.04.2020, 08:25
Сообщение
#4521
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
Для исходников нашел правку Фикс вертикальной синхронизации (r2)
Цитата Автор: SkyLoader
Файл: xr_3da\HW.cpp Найти DevPP.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; и P.PresentationInterval = D3DPRESENT_INTERVAL_IMMEDIATE; Затем просто заменить D3DPRESENT_INTERVAL_IMMEDIATE на selectPresentInterval() Сообщение отредактировал macron - 26.04.2020, 08:26 |
 
|
|
Текстовая версия | Сейчас: 23.04.2024, 10:26 |