Это популярное сообщение. Malandrinus 615 Опубликовано 22 Ноября 2010 Это популярное сообщение. Поделиться Опубликовано 22 Ноября 2010 (изменено) Проект X-Ray extensions Представляет собой набор добавлений, расширяющих возможности движка для скриптёров, а также, в ряде случаев, меняющих поведение игры. Изменения реализованы в виде бинарных патчей библиотек и исполняемых файлов. Адрес проекта на Google CodeДокументация одним файлом в chm формате (зеркало) по состоянию на 15 августа 2013 г. (собрана, отформатирована и скомпилирована @Kontro-zzz).Версии игры, поддерживаемые на данный момент:ТЧ (патч 1.0006): xrGame.dll, XR_3DA.exe, xrRender_R1/2ЧН (патч 10): xrGame.dll, xrRender_R1/2/3ЗП (патч 1.6.02): xrGame.dll, xrRender_R1/2/3/4 svn хранилище не содержит оригинальных файлов игры. Не забывайте делать резервные копии перед заменой файлов игры! Ссылка на адрес нового репозитария: https://github.com/KD87/xray-extensions Изменено 23 Июня 2016 пользователем Malandrinus 12 12 1 8 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
RayTwitty 502 Опубликовано 15 Июня 2013 Поделиться Опубликовано 15 Июня 2013 (изменено) а ты этим не можешь заняться? А что мешает до или после патчинга бинарника правками из xray-extentions, пропатчить его другими модами по правкам движка? В частности коллизия никак не пересекается, да и другие правки тоже. Для тех, кто может быть до сих пор не разобрался, как искать нужные значения различных параметров у объектов по смещению в памяти, вот функция-пример для актора: function get_actor_values(type, cycle_length) if cycle_length then if type == "float" then get_console():execute("clear_log") for i = 1, cycle_length do local value = db.actor:get_actor_float(i) if value and value ~= 0 then log1("Float = "..value.." Position = "..i) end end get_console():execute("flush") elseif type == "int" then get_console():execute("clear_log") for i = 1, cycle_length do local value = db.actor:get_actor_int(nil, i) if value and value ~= 0 then log1("Int = "..value.." Position = "..i) end end get_console():execute("flush") end end end Сканирует смещения в диапазоне от 1 до заданной длины цикла cycle_length. Можно задать тип числа int или float. Данные о позиции и значении выводятся в лог и сохраняются. Перед этим лог очищается. Позиции, у которых значение равно нулю не выводятся. Изменено 15 Июня 2013 пользователем Shadows Ссылка на комментарий
Earth2Space 305 Опубликовано 16 Июня 2013 Поделиться Опубликовано 16 Июня 2013 , экзешник оттуда этими правками не патчится, да и рендер тоже. Ссылка на комментарий
Malandrinus 615 Опубликовано 17 Июня 2013 Автор Поделиться Опубликовано 17 Июня 2013 Earth2Space, а ты этим не можешь заняться? Чем именно, искать авторов правок или заниматься реверс-инженирингом этих правок и воспроизводить их в этом проекте?Если серьёзно, то сейчас весьма сильно занят. Правки делаются в основном под конкретные текущие нужды, а не вообще и не про запас.Shadows дал хороший совет насчёт использования уже патченного файла. Экзешник так использовать не получится, поскольку в этом проекте принят за основу файл от штатовской версии (без защиты), но xrGame должен подойти. Я так даже делал, вполне работает. И кстати, а что там за правки в экзешнике? Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Earth2Space 305 Опубликовано 17 Июня 2013 Поделиться Опубликовано 17 Июня 2013 (изменено) сейчас весьма сильно занят Понимаю. в этом проекте принят за основу файл от штатовской версии (без защиты) В том тоже. xrGame должен подойти Там его нет. а что там за правки в экзешнике? В "Доработки графики финалки [ТЧ 1.0006]", что @Deathdoor выложил? Конкретно по пунктам не знаю, но саншафты там включены. Я думал, что тебе об этом должно быть больше известно, ваше же это) Изменено 17 Июня 2013 пользователем Earth2Space Ссылка на комментарий
Malandrinus 615 Опубликовано 17 Июня 2013 Автор Поделиться Опубликовано 17 Июня 2013 Earth2Space, ты меня окончательно запутал. Пакет, который выложил Deathdoor в той теме, содержал некую версию бинарников из этого проекта. Всё, что там есть, есть в последней версии здесь. Я тогда не понимаю, что ты хочешь. 1 Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Earth2Space 305 Опубликовано 17 Июня 2013 Поделиться Опубликовано 17 Июня 2013 Я уже и сам запутался. Начнем сначала: в данный момент меня интересуют саншафты. Если Всё, что там есть, есть в последней версии здесь.то как мне их включить этим проектом на чистой игре?Сорри, что я туплю, но хочется разобраться. Ссылка на комментарий
Akcok 164 Опубликовано 17 Июня 2013 Поделиться Опубликовано 17 Июня 2013 Глянул давно еще correct_list для ЧН. Увидел строки относящиеся к увеличению пояса артефактов (насколько помню 3). Думал пропатчить способом Cut X-Ray (выписал строки, добавил числа на изменение). Но почему-то не вышло. Интересно почему. Давно еще dark_stalker делал правку по артам через Cut X-Ray, но она пропала. Кстати насколько помню первые буквы\цифры были сходны, последние различались (но не сильно). Может из-за этого? Но ведь данные правки делают одно и то-же. P.S. Помом уже писали, есть байда если сделать пояс артов по горизонтали. Не хочет чет никак. Ссылка на комментарий
KD87 718 Опубликовано 17 Июня 2013 Поделиться Опубликовано 17 Июня 2013 Думал пропатчить способом Cut X-Ray А можно было не думать, а прочитать ридми к проекту. Сорри, что я туплю, но хочется разобраться. И тебе то же самое - читай ридми. Правки экзешника есть _только_ в проекте xray-extensions. Сборка с саншафтами использовала одну из промежуточных ревизий проекта. Отсюда простейший вывод - чтобы включить правки из проекта, надо им пропатчить экзешник. Как именно пропатчить - тыщу раз уже разжевывали. Дальше. Зачем нужно брать последние ревизии правок экзешника? Там ничего полезного не появилось после выкладывания сборки с саншафтами. Последнее. Не раз было написано, что правки экзешника нужны только для пыли в саншафтах, они сами и так работают. Если у тебя не работают сами саншафты без правок - делай выводы. Ссылка на комментарий
Akcok 164 Опубликовано 17 Июня 2013 Поделиться Опубликовано 17 Июня 2013 KD87, я имел ввиду взять нужные строки и пропатчить другим методом. Уже описал в прошлом посту че да как. Интересно тогда почему же различаются варианты от dark_stalker'a и здесь. Делают одно и то же. Ссылка на комментарий
Galil 18 Опубликовано 17 Июня 2013 Поделиться Опубликовано 17 Июня 2013 Я думаю в пакете Deathdoor лежит все необходимое и то что есть в X-Ray extensions. Но в пакете кроме бинарников лежат еще и папки shaders, которые как раз включают Sunshafts. Т.е. с одними бинарниками без папки с шейдерами далеко не уедешь... Заходим в игру и вбиваем r2_sun_shafts(надеюсь правильно написал). Если пишет что-то типа unknow command или т.п., то саншафты не работают. Если появляется строка с "r2_sun_shafts off" - значит работает. Вбиваешь в консоль "r2_sun_shafts low", пот вбиваешь в консоль "vid_restart". Если изменений не видно, то значит криво поставили шейдеры. Я у себя совмещал шейдеры из пакета OGSE и u3shaders. Работают функции и u3shaders, и саншафты, и soft particles, и soft water. P.S. прошу прощения если не в тему... Cold Zone *** Youtube *** Стволы *** SC2TV Ссылка на комментарий
Malandrinus 615 Опубликовано 17 Июня 2013 Автор Поделиться Опубликовано 17 Июня 2013 power-cat, я имел ввиду взять нужные строки и пропатчить другим методомНе выйдет. В corrections_list.txt только врезки переходов на собственно фрагменты рабочего кода, где и делается основная работа. А эти фрагменты сидять в дополнительном сегменте, который ещё надо сделать, и пишутся на ассемблере. Кроме того, адреса там - это не физические смещения от начала файла, а смещения от начала сегмента кода, которые патчер ещё должен пересчитать. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
Earth2Space 305 Опубликовано 19 Июня 2013 Поделиться Опубликовано 19 Июня 2013 (изменено) А можно подробнее узнать о правках? Например об этих: ОЧИСТКА РЕНДЕРТАРГЕТА RT0 ШЕЙДЕР САМОСВЕЧЕНИЯ НА ХУДЕВИРТУАЛЬНЫЙ РАДИУС ЛАМПДЕФАЙНЫ ШЕЙДЕРОВРЕГИСТРАЦИЯ СЭМПЛЕРОВРЕГИСТРАЦИЯ СЭМПЛЕРОВ ДЛЯ ПАРТИКЛОВ0x10054AD7 7 ; фикс оффлайнового движения неписей0x10221D75 12 ; блокирование кривого движкового переключения гранат0x101DE76F 6 ; fdiv ds:g_fov0x1023B20D 8 ; divss xmm0, ds:g_fov0x1027401D 8 ; divss xmm0, ds:g_fov0x10287828 8 ; divss xmm0, ds:g_fov0x102065B7 9 ; jmp loc_1020663C_return_true ; фикс инвентаря часть 10x1020432D 5 ; jmp CInventory__CInventory_fix ; фикс инвентаря часть 2;;0x102046B1 5 ; jmp CInventory__Take_fix ; фикс инвентаря часть 30x10204ED4 5 ; jmp CInventory__Ruck_fix ; фикс инвентаря часть 40x10204A57 5 ; jmp CInventory__DropItem_fix ; фикс инвентаря часть 5 И еще: если патчить на "ПРАВИЛЬНОЕ ПОЛОЖЕНИЕ СОЛНЦА", то получаю вылет stack trace: 0023:043C0515 xrRender_R2.dll Если в [spoiler=ПРАВИЛЬНОЕ ПОЛОЖЕНИЕ СОЛНЦА] ;===================================== 0x1006E564 4 0x10030515 8 закомментить "0x10030515 8" - вылета нет, можно играть. И, вроде бы, пока что, последний вопрос по 0x10023D7A 5 cache_initialize_1 0x10023D85 5 cache_initialize_20x10024144 5 cache_update_10x100241A9 5 cache_update_20x1002422E 5 cache_update_30x1002428B 5 cache_update_40x10023E2A 5 cache_task_10x10022F2E 5 cache_upvism_10x10022F3E 5 cache_upvism_20x10022A53 5 cache_upvism_30x10024121 5 update_30h_10x10024130 5 update_30h_20x10024173 5 update_30h_30x100241FA 5 update_30h_40x10024254 5 update_30h_50x10024276 5 update_30h_60x10023D8D 5 cache_init_40x10023DA5 5 cache_init_50x10024420 5 cache_upd_60x1002444A 5 cache_upd_70x10023DD4 5 cache_init_C4_10x10024201 5 cache_upd_C4_20x10024260 5 cache_upd_C4_30x1002229E 5 const_960_10x100224E1 5 const_960_20x1002223F 5 cache_level1_length0x10024197 5 red_cl1_line_size_minus0x1002421C 5 cache_size_w_o_last_line_minus0x100242A6 5 cache_length0x10023DF0 5 four_lines_length_in_cache0x10022BC7 5 vis0x10022BED 5 circle;test0x10002D42 5 con_comm;обработчик0x10007607 5 calculate_stuff;смещения0x10023D57 5 offset_10x10024077 5 offset_30x100240FE 5 offset_40x1002416B 5 offset_50x100241F2 5 offset_60x10024245 5 offset_70x100242F6 5 offset_80x10024306 5 offset_90x10024323 5 offset_100x100243BD 5 offset_110x100243CB 5 offset_120x100243E0 5 offset_130x100243FE 5 offset_140x10022A76 5 offset_15 Всеми правками патчить надо? В итоге станет возможным применение команды "r__detail_radius"? Изменено 19 Июня 2013 пользователем Earth2Space Ссылка на комментарий
RayTwitty 502 Опубликовано 19 Июня 2013 Поделиться Опубликовано 19 Июня 2013 (изменено) А можно подробнее узнать о правках? Например об этих 0x10221D75 12 ; блокирование кривого движкового переключения гранат Если в игре было больше двух видов гранат, то переключение между ними происходило абы как. Так вот его тут совсем выключили. Для переключения следует писать свою скриптовую обвязку (либо обратно включить движковую). Изменено 19 Июня 2013 пользователем Shadows 1 Ссылка на комментарий
Earth2Space 305 Опубликовано 19 Июня 2013 Поделиться Опубликовано 19 Июня 2013 , это относится только к ручным или к подствольным тоже? Ссылка на комментарий
Kontro-zzz 70 Опубликовано 19 Июня 2013 Поделиться Опубликовано 19 Июня 2013 (изменено) power-cat Если надо могу попробовать помочь пропатчить, скинь свою дллку и строки из корректион лист, что именно нужно(только ЧН). Изменено 19 Июня 2013 пользователем Kontro-zzz Ссылка на комментарий
Malandrinus 615 Опубликовано 19 Июня 2013 Автор Поделиться Опубликовано 19 Июня 2013 Earth2Space, это относится только к ручным или к подствольным тоже? Только к ручным. Подствольные - это технически патроны в пачках по одной штуке. Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий
S.T.A.L.K.E.R. Andrew VAGM 0 Опубликовано 20 Июня 2013 Поделиться Опубликовано 20 Июня 2013 Установил. Всё норм но загружаю сейф и ловлю 0023:076C80ED xrGame.dll, CxImage::`copy constructor closure'() вроде бы ругается на картинку. Помогите! Ссылка на комментарий
Earth2Space 305 Опубликовано 20 Июня 2013 Поделиться Опубликовано 20 Июня 2013 @S.T.A.L.K.E.R. Andrew VAGM, отлавливай, после какой правки этот краш происходит и отключай её. Ссылка на комментарий
Earth2Space 305 Опубликовано 22 Июня 2013 Поделиться Опубликовано 22 Июня 2013 Сборка с саншафтами использовала одну из промежуточных ревизий проекта.Можно где-нибудь найти эту ревизию?Или как, например, 60ой ревизией пропатчить рендер на включение пыли в саншафтах (а так же на мягкие партиклы и воду, но не критично). Ссылка на комментарий
KD87 718 Опубликовано 22 Июня 2013 Поделиться Опубликовано 22 Июня 2013 Можно где-нибудь найти эту ревизию? Да ты шутишь, что ли? Шейдеры выкладывались вместе с бинарниками, как можно не увидеть? Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти