Редактирование движка |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Редактирование движка |
22.01.2016, 17:18
Сообщение
#1541
|
|
Игровой Бог Репутация: 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 |
 
|
|
|
|
24.10.2015, 19:47
Сообщение
#1542
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
24.10.2015, 20:03
Сообщение
#1543
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Регистрация: 24.09.2010 |
"231" уже выпускал тов. Нанобот на amk. Чтобы не путаться, пусть начинается с 232. Остальное в будущем исправим. Там непонятно что было, рекомендую опираться на оф. ревизии. 232 как раз вносит много путаницы. Сообщение отредактировал RayTwitty - 24.10.2015, 20:05 -------------------- |
 
|
|
25.10.2015, 03:25
Сообщение
#1544
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
25.10.2015, 15:38
Сообщение
#1545
|
|
Почти Игроман Репутация: 91 Группа: Модератор Сообщений: 516 Награды: 4 Регистрация: 19.07.2015 |
Это был мой первый опыт.
Правка для 1.0004: скриншоты теперь в формате PNG -------------------- В армии по 01.07.2020. |
 
|
|
25.10.2015, 16:53
Сообщение
#1546
|
|
Продвинутый геймер Репутация: 90 Группа: Участник Сообщений: 395 Награды: 3 Регистрация: 07.04.2014 |
Forser, попробуй сделать для ЗП и ЧН
-------------------- no more running
|
 
|
|
25.10.2015, 16:54
Сообщение
#1547
|
|
Почти Игроман Репутация: 91 Группа: Модератор Сообщений: 516 Награды: 4 Регистрация: 19.07.2015 |
Forser, попробуй сделать для ЗП и ЧН Если я не ошибаюсь, там к X-Ray цепляется jpeg.lib -------------------- В армии по 01.07.2020. |
 
|
|
26.10.2015, 20:50
Сообщение
#1548
|
|
Почти Игроман Репутация: 96 Группа: Участник Сообщений: 594 Награды: 3 Регистрация: 26.10.2012 |
Перенёс пару правок X-Ray extensions из ТЧ на ЧН:
--отключение использования аптечек и бинтов быстрыми клавишами. --из оружия на классе бинокля можно стрелять. Ссылка для X-Ray extensions: Обновленный патчер для ЧН: -------------------- Будиш маму-папу слушать
Будиш ты канфеты кушать! © Операция «Ы» |
 
|
|
29.10.2015, 10:59
Сообщение
#1549
|
|
Почти Мастер Репутация: 1357 Группа: Участник Сообщений: 1155 Награды: 5 Регистрация: 28.05.2010 |
Кто-нибудь имеет мысли, почему бардак в своём плагине
-------------------- Сверхнарод, не желающий кормить своего уицраора шаввой, будет кормить чужого гаввахом!
--------------- ------------ ---------- -------- ------ ---- -- |
 
|
|
22.11.2015, 20:32
Сообщение
#1550
|
|
Почти Игроман Репутация: 96 Группа: Участник Сообщений: 594 Награды: 3 Регистрация: 26.10.2012 |
CS 1.5.10
Движковые правки, меняющие размеры интро-слайдов(стили близкие к ЗП и др.), размеры и положение прогресс бара, подробнее внутри архива. Сообщение отредактировал Kontro-zzz - 22.11.2015, 20:33 -------------------- Будиш маму-папу слушать
Будиш ты канфеты кушать! © Операция «Ы» |
 
|
|
22.11.2015, 20:37
Сообщение
#1551
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Регистрация: 24.09.2010 |
Движковые правки, меняющие размеры интро-слайдов Можно было просто в конфиг параметры вывести. -------------------- |
 
|
|
22.11.2015, 20:51
Сообщение
#1552
|
|
Почти Игроман Репутация: 96 Группа: Участник Сообщений: 594 Награды: 3 Регистрация: 26.10.2012 |
Цитата в конфиг Там метод не ХЕ, а просто патчер прямого действия. Хотя можно попробовать перевести в ХЕ, но неохота заморачиваться. Сообщение отредактировал Kontro-zzz - 22.11.2015, 20:51 -------------------- Будиш маму-папу слушать
Будиш ты канфеты кушать! © Операция «Ы» |
 
|
|
27.11.2015, 20:55
Сообщение
#1553
|
|
Почти Мастер Репутация: 75 Группа: Участник Сообщений: 1168 Награды: 4 Регистрация: 10.11.2015 |
Мои поделки.
Условный номер ревизии 234 Краткое описание ; Возможность стрелять картечью из подствольного гранатомёта. ; Смена типа ракет при перезарядке ; Удаляем ракеты при разрядке CWeaponRG6, CWeaponRPG7, CWeaponMagazinedWGrenade. ; колбек на удар(выстрел) ножа, вызывается в объекте ножа ; блокировка автоперезарядки (перезарядка только кнопкой R), включается auto_reload = false в секции оружия ; Гранаты с ударным запалом!!! Полностью движковые! ; Кумулятивный эффект, для всех взрывных объектов. Задаётся cumulative_sect = секция_кумулятивной_пули ; стабилизированная ракета (ракета разворачивается по курсу) В общем, правки делал для расширения возможностей оружия, например ПЗРК на классе РПГ-7. Гранаты с ударным запалом (делал для МП). Доработаю ПГ что бы можно было много ракет заряжать, не помню какое оружие это поддерживает (из Far Cry 1). Вспомнил OICW Rev235 Добавил для ЗП: Колбек на обновления кости граната для класса CWeaponRPG7 Передаёт:номер типа текущего боеприпаса (от 1)(m_ammoType++), номер_состояние_худа(GetState) Это необходимо для скриптового отключения и/или включения костей гранат для многозарядных и много-типово-зарядных гранатомётов. Для этого используются методы: void set_obj_bone_visible(string, bool) bool get_obj_bone_visible(string) void set_hud_obj_bone_visible(string, bool) bool get_hud_obj_bone_visible(string) Для класса CWeaponMagazinedWGrenade теперь объём магазина гранат не ограничен. Мелкие правки. Обнуления m_bBlockRocket. Закомментировал лог-функции. (с) НаноБот 28.11.2015 г. ЗЫ Номер ревизии вычисляется так: 230+мой_номер ЗЫЫ Подправил: номер типа патрона передаёт, а не количество патронов, так лучше скрипт будет работать. rev236 Добавил для ЗП: Новый режим работы для класса CEliteDetector, скриптовый класс DET_ELIT, детектор "велес" Этот режим называется скриптовый, включается параметром script_mode И позволяет в биндере (скриптах) отображать различные объекты. В точности, это надо для биорадара. Для этого используются методы: detector_clear -- стирает список detector_draw_object -- добавляет в список объект для отображения на панели детектора. Пример: detector:detector_clear() -- надо для зачистки экрана детектора, и вызывается в начале detector:detector_draw_object(cobj, _type, vector(), 0) cobj - объект для отображения, _type - тип палитры, берётся в файле ui_detector_artefact.xml в теге script_detector Сам код палитры должен быть типа такой. CODE <palette id="stalker" width="0.0022" height="0.0022" stretch="1" alignment="c"> <texture shader="hudp3d">ui_inGame2_Detector_icon_artefact</texture> </palette> id="stalker" -- это имя палитры, vector() -- вектор читается, но не используется, должен быть обязательно. float -- читается, но не используется. Эти методы работают только с указанным классом и при включенном режиме (script_mode = true). Если при работе в логе выскакивает: ! RegisterItemToDraw. static not found for [палитра] Значит нету указанной палитры, просмотрите точно названия. (с) НаноБот 1.12.2015 г. Демоверсия скриптового биорадара на новом режиме. Нужна НГ. Скриншот. Ревизия 237. rev237 Только для ЗП. Проведён масштабный рефакторинг. Более полное использование макросов. Исправлены различные ошибки в работе оружия. Существенная переделка по сравнению с прежними ревизиями. Добавлены методы: set_air_resistance -- задать сопротивление воздуха. get_air_res_linear -- получить линейное сопротивление. get_air_res_angular -- получить сопротивление вращению. Добавлены колбеки на нажатие и отпускание клавиш. Для объекта CWeaponRPG7, CWeaponRG6 добавлена возможность вести автоогонь. Для CWeaponRPG7 можно задавать размер магазина более 1. Исправил блокировку перезарядки, ранее работала только для класса CWeaponMagazinedWGrenade, теперь работает для всех классов CWeaponMagazined и наследников. При отсоединении подствольного гранатомёта, граната разряжается и в основном режиме (в оригинале не разряжалась). Добавлена возможность использования осветительных ракет, при not_explosive = true ракета не взрывается от контакта с геометрией и так же не взрывается от самоликвидатора, просто удаляется. Для класса CWeaponRG6, CWeaponMagazinedWGrenade работает прицеливание в объекты. Фикс вылета если не указали для класса CWeaponMagazined параметр fire_modes. Фикс изменение размера магазина у CWeaponMagazinedWGrenade после апгрейда. Исправлен метод: void set_hud_obj_bone_visible(string, bool) Метод bool get_hud_obj_bone_visible(string) удалён за ненадобностью. (с) НаноБот 22.12.2015 г. rev238 Только для ЗП. класс CWeaponBM16 стреляет очередями: В конфиге двустволки добавить: fire_modes = 2, 1 ; режим 2 стрельба дуплетом base_dispersioned_bullets_count = 2 ; от выст. нет отдачи Фикс глюка, если fire_modes нет в конфиге, то некоторое оружие стреляет очередями. Фикс не правильной работы CWeaponRG6, если одновременно заряжены картечные и ракетные боеприпасы. (с) НаноБот 29.12.2015 г. Надо ещё прицеливание подствольного гранатомёта через оптику для OICW сделать. ЗЫ Модерам, может посты объединить? Сообщение отредактировал RayTwitty - 29.12.2015, 20:29 -------------------- СТАЛКЕР только для ПК!
|
 
|
|
07.01.2016, 18:09
Сообщение
#1554
|
|
Ветеран Репутация: 8 Группа: Участник Сообщений: 96 Награды: 2 Регистрация: 24.07.2007 |
У кого нибудь получилось полноценно вернуть раскачку оружия (для ТЧ)?
Сообщение отредактировал Heilar - 07.01.2016, 18:30 |
 
|
|
07.01.2016, 20:39
Сообщение
#1555
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
07.01.2016, 21:10
Сообщение
#1556
|
|
Почти Игроман Репутация: 187 Группа: Участник Сообщений: 647 Награды: 4 Регистрация: 05.05.2007 |
А как же Lost Alpha?
|
 
|
|
07.01.2016, 21:42
Сообщение
#1557
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
07.01.2016, 21:58
Сообщение
#1558
|
|
Почти Игроман Репутация: 91 Группа: Модератор Сообщений: 516 Награды: 4 Регистрация: 19.07.2015 |
А как же Lost Alpha? А ты точно проверял, что в LA раскачка чисто движковая (я вот сам не знаю - не ковырял)? И можно ли движок LA назвать ТЧ-движком? Вопрос был про полноценную раскачку для ТЧ. Можешь в репозитории Аплета и К.Д. посмотреть, там среди правок Red Virus'a лежит. Движок + внешний конфиг -------------------- В армии по 01.07.2020. |
 
|
|
07.01.2016, 22:33
Сообщение
#1559
|
|
Игроман Репутация: 386 Группа: Участник Сообщений: 847 Награды: 7 Регистрация: 22.07.2009 |
|
 
|
|
07.01.2016, 23:04
Сообщение
#1560
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
У кого нибудь получилось полноценно вернуть раскачку оружия (для ТЧ)? В принципе и движковую и анимационную сделали. Движковую можно взять или ЛА, только ее следует инвертировать, чтобы раскачивалась как в билдах. Анимационную сейчас скриптами сделать можно. Но это надо пилить все анимации к оружиям. |
 
|
|
14.01.2016, 02:54
Сообщение
#1561
|
|
Почти Мастер Репутация: 75 Группа: Участник Сообщений: 1168 Награды: 4 Регистрация: 10.11.2015 |
Не понял, да к это чисто анимация делает, anm_idle_moving, а это вопрос к оружейникам. Вот я решил класс W_M134 возродить, но упёрся в проблему, движок совсем не поддерживает возможность задавать скорость проигрывания звукам, короче, нельзя тот вой сервопривода двигла мотора ротора задавать, как в билде 1098, вот это проблема. Которая преодолима лишь очень хорошим программистам на С++.
Сообщение отредактировал NanoBot-AMK - 14.01.2016, 02:55 -------------------- СТАЛКЕР только для ПК!
|
 
|
|
Текстовая версия | Сейчас: 18.04.2024, 17:30 |