Это популярное сообщение. 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 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/
RayTwitty 573 Опубликовано 20 Ноября 2015 Поделиться Опубликовано 20 Ноября 2015 (изменено) а оно может измениться и после открытия Дело в том, что измениться оно может только в очень специфичных случаях (например какой-то дебаговый спавн, в штатном режиме как я пониманию, ничего просто так не появляется), но самое главное - лист не перезагружается после перемещений между поясом\слотами и рюкзаком Если вы конечно не сделали это принудительно.Впрочем, наверно это зависит от мода - где-то требуется, где-то нет. В самом деле, там только флажки ставим, плюс-минус вызов не напрягает. На счет правки солнца - понятно. Значит придумать, как исправить баг, а эту правку в топку. З.Ы. посмотрел в исходниках репозитория xp-dev и что-то не нашел упоминания о правке. Получается её до сих пор не сделали? Всегда думал, что солнце уже исправлено и даже не обращал внимание на его отсутствие. Здесь ситуация такая, что я сам понятия не имею, что реально делает эта правка. Провел анализ кода - в этой правке (не считая проверки флага g_ignore_game_state_update, который в оригинале не влияет) ты просто убрал вызов GamePersistent().Environment().Invalidate() (call ds:CEnvironment__Invalidate). Собственно, солнце у меня восстановилось и в исходниках, после того как я закомментировал вызов. Но вместе с солнцем "восстановились" и баги)) Будем думать дальше. Изменено 20 Ноября 2015 пользователем Murarius Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976012
_Val_ 2 350 Опубликовано 20 Ноября 2015 Поделиться Опубликовано 20 Ноября 2015 Такс...А можно поподробней узнать, что там вообще с солнцем? Я сейчас юзаю последнюю ревизию и сборку на которой погода вроде как АМК, но положение солнца поправлено. Ну и луны само собой. Багов вроде не наблюдал, хотя подолгу и не бегал. Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976161
RayTwitty 573 Опубликовано 20 Ноября 2015 Поделиться Опубликовано 20 Ноября 2015 (изменено) Багов вроде не наблюдал, хотя подолгу и не бегал.Включи игру, загрузи сейв, например с утренней погодой. Потом загрузи ночной сейв (сама секция погоды должна быть той же) и посмотри, что получится. В некоторых случаях она либо не обновится, либо обновится частями. После повторной загрузки сейва ночи, погода нормально обновится. З.Ы. если продолжить играть с криво-загруженной погодой, то можно наблюдать довольно интересные сочетания, самое смешное, иногда эти сочетания получаются довольно удачными: http://www.gameru.net/forum/index.php?autocom=gallery&req=si&img=44233 Скрин сделан именно в такой момент. При нормальной работе погоды, такого часа просто бы не существовало. Изменено 20 Ноября 2015 пользователем RayTwitty Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976169
Forser 47 Опубликовано 20 Ноября 2015 Поделиться Опубликовано 20 Ноября 2015 PS2: git - отстой, сильно переусложнён и избыточен для целей этого проекта. А как ты относишься к Mercurial репозиториям? Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976171
Malandrinus 615 Опубликовано 21 Ноября 2015 Автор Поделиться Опубликовано 21 Ноября 2015 (изменено) Значит придумать, как исправить баг, а эту правку в топку Сдаётся мне, что если и поймёшь, как это исправить, то вряд ли сможешь это перенести в виде патча. Рациональней будет уже забить на XE и мутить дальше из исходников. как ты относишься к Mercurial репозиториям? Я мало про них знаю. Ну вот открываю вики, читаю слова: "разработанная для эффективной работы с очень большими репозиториями кода" "является распределённой (децентрализованной) системой контроля версий" "поддерживает полностью децентрализованную работу, ветвление" Это всё замечательно, но конкретно этот проект - полная противоположность этих требований. XE - проект на самом деле очень маленький (особенно если рассматривать каждый подпроект по отдельности). Количество разработчиков - также очень небольшое. Ветвление - может где-то и полезно, но конкретно в этом проекте, IMHO, фича вредная. Сам проект XE вертится вокруг предельно конкретных DLL, правки обычно сугубо локальные и никак не могут, точнее не должны, вести к созданию изолированных сборок. Более того, форки в контексте нашего проекта вообще противоречат его изначальной задумке аккумулировать все правки. Вот конфигурирование проекта - дело полезное, но ветки для этого не нужны. Поэтому нам больше подходит система контроля версий централизованная и желательно как можно более простая, типа SVN. ЗЫ: Я всё же хочу уточнить на всякий случай, что "git - отстой" я имел в виду только в том смысле, что "для этого проекта - отстой". Так-то наверное замечательная система. Изменено 21 Ноября 2015 пользователем Malandrinus Плагины Total Commander для работы с игровыми архивами: Архиваторный плагин (для работы с одиночным архивом): link1 link2 Системный плагин (для распаковки установленной игры): link1 link2 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976193
phorumer 3 093 Опубликовано 21 Ноября 2015 Поделиться Опубликовано 21 Ноября 2015 0x101DF506 6 ; Скриптовый коллбек (138 для CActor) на использование (но не посадку\выход) машины. Проверку на дистанцию делать в скриптах. Я правильно понимаю, что это можно использовать, например, для создания и использования багажника и пр.? И если да, то как эта правка примерно работает? Ковыряем "Новый Арсенал" Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976266
RayTwitty 573 Опубликовано 21 Ноября 2015 Поделиться Опубликовано 21 Ноября 2015 (изменено) Рациональней будет уже забить на XE и мутить дальше из исходников.Пока и в исходниках не получается)) Убил вчера весь день, но так и не понял как исправить. Причина не появления флара ясна - при вызове GamePersistent().Environment().Invalidate() сбрасывается стейт флара в none, процесс начинается сначала и так на постоянном обновлении. В то же время, в ЧН\ЗП код такой же, однако всё работает. И если да, то как эта правка примерно работает?Так же, как колбек на юз. Изменено 21 Ноября 2015 пользователем RayTwitty 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976276
RayTwitty 573 Опубликовано 21 Ноября 2015 Поделиться Опубликовано 21 Ноября 2015 (изменено) Итого, примерно двое суток потребовалось для выяснения причины отсутствия солнца в ТЧ. Как выяснилось, в ЗП game_cl_GameState::net_import_GameTime вообще не вызывается, следовательно -> нет вызова GamePersistent().Environment().Invalidate() -> нет сброса текущего стейта флара. Путем отладки было также выяснено, что Invalidate() в ЗП отрабатывает ТОЛЬКО при вызове CEnvironment::SetWeather (а это именно та функция, которая экспортирована в level.set_weather), следовательно Invalidate() в ЗП вызывается только из скриптов и только вполне определенное количество раз (а не на апдейте, как в ТЧ). Таким образом, выпиливание вызова из net_import_GameTime - это правильный шаг, правка абсолютно корректна. Но для этой правки требуется скриптовая доделка, в виде установки погоды из скрипта после загрузки сейва (очевидно, в ЗП эту функцию выполняет система динамической погоды), однако у меня нормально погода устанавливается только на первом апдейте актора, на спавне почему-то не хочет. Собственно, в OGSE и не было проблем потому, что там идет полное управление погодой из скрипта. З.Ы. на счет net_import_GameTime - можно было конечно поступить как в ЗП, убрать вообще вызов этой функции (а точнее убрать экспорт), но это уже серьезные вмешательства в работу системы клиент-сервера, неизвестно к чему это приведет - в ЗП все-таки там основательно все переделали... Изменено 21 Ноября 2015 пользователем RayTwitty Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976375
RayTwitty 573 Опубликовано 22 Ноября 2015 Поделиться Опубликовано 22 Ноября 2015 (изменено) Обнаружил два колбека с одинаковыми номерами:debug_fixes.asm 185 строка - CALL_ACTOR_CALLBACK_INT_INT 153, edx, eax по умолчанию не вызывается, используется в OGSE.stalker_fix.asmhttps://code.google.com/p/xray-extensions/source/diff?spec=svn152&r=152&format=side&path=/trunk/3312_shoc_10006/stalker_fix.asmвызывается, используется вроде бы в модификации Lost World.Не критично, так как первый закомментирован, но все-таки не мешало бы поменять номер у дебагового, мало ли что.З.Ы. вообще, надо было наверно с самого начала проекта в отдельный файл выписывать дефайны с номерами используемых колбеков, чтобы каждый раз не гадать, какой номер свободен. Изменено 22 Ноября 2015 пользователем RayTwitty Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976500
phorumer 3 093 Опубликовано 24 Ноября 2015 Поделиться Опубликовано 24 Ноября 2015 Так же, как колбек на юз. В общем задействовал я этот колбек на юз. За основу определения дистанции и направления взял схему из ОГСЕ. Примерно в 90% случаев работает нормально, однако при определенных ракурсах одновременно происходит и юзание машины и посадка в нее. Отсюда вопрос: движок как-то определяет, что надо делать в в конкретном случае - юзать или аттачить или просто смотрит на расстояние до дверей, указанных в doors визуального конфига машины и одновременно вызывает и пользование и посадку?. Также попробовал колбеки на посадку/высадку (attach_vehicle, detach_vehicle), но что-то они ничего не делают, вернее с ними всё вообще перестает работать. Ковыряем "Новый Арсенал" Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976680
RayTwitty 573 Опубликовано 24 Ноября 2015 Поделиться Опубликовано 24 Ноября 2015 (изменено) Примерно в 90% случаев работает нормально, однако при определенных ракурсах одновременно происходит и юзание машины и посадка в нее. Ну, судя по описанию правки, колбек должен вызываться только при юзе без посадки. Либо правка некорректна, либо неправильно применяете. Т.е. тут надо не запутаться - в оригинале есть колбек на юз для машины, а в ХЕ добавился колбек на юз машины для актора. или просто смотрит на расстояние до дверей, указанных в doors визуального конфига машины и одновременно вызывает и пользование и посадку?. Расстояние до дверей + замороченный алгоритм определения, что смотрим именно в зону нахождения двери. А проверять, то что актор не сел, у меня получалось путем вызова not db.actor:get_current_holder() после отработки стандартного колбека на юз для машины. Изменено 24 Ноября 2015 пользователем RayTwitty Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976728
phorumer 3 093 Опубликовано 24 Ноября 2015 Поделиться Опубликовано 24 Ноября 2015 @RayTwitty, ну значит я наверное неправильно сделал. Я сделал биндер для машин и там сделал колбек на юз. А выходит нужно было его ставить актору? Ковыряем "Новый Арсенал" Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976742
RayTwitty 573 Опубликовано 24 Ноября 2015 Поделиться Опубликовано 24 Ноября 2015 (изменено) @phorumer, да, 138 колбек ставится актору - http://code.google.com/p/xray-extensions/wiki/new_collbacks аргумент - машина которую юзаем. Изменено 24 Ноября 2015 пользователем RayTwitty Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976743
phorumer 3 093 Опубликовано 24 Ноября 2015 Поделиться Опубликовано 24 Ноября 2015 @RayTwitty, ну тогда буду переделывать . Колбек называется use_vehicle? Ковыряем "Новый Арсенал" Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976749
RayTwitty 573 Опубликовано 24 Ноября 2015 Поделиться Опубликовано 24 Ноября 2015 @phorumer, по дефолту никак не называется, просто пиши 138. Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976750
phorumer 3 093 Опубликовано 25 Ноября 2015 Поделиться Опубликовано 25 Ноября 2015 @RayTwitty, ну в общем переделал с использованием новых колбеков. Работает нормально. Правда от схемы определения действий в зависимости от направления и расстояния пришлось отказаться ввиду ее замудренности. Вместо этого сделал меню как в ЛА. Спасибо за помощь и советы. Ковыряем "Новый Арсенал" Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-976903
redpython 11 Опубликовано 26 Ноября 2015 Поделиться Опубликовано 26 Ноября 2015 Хоть это и не моё дело совершенно. но не могу не влезть, ибо использую хг уже давно и даже не для кода [...] Я мало про них знаю. Ну вот открываю вики, читаю слова: [...] Меркуриал как раз отлично подходит. Не надо читать вики, надо просто попробовать, и всё понравится. 1 хранилище утилит и прибежище описаний не стесняйтесь, добавляйте полезную информацию Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-977018
phorumer 3 093 Опубликовано 27 Ноября 2015 Поделиться Опубликовано 27 Ноября 2015 Хочу включить слот детектора без включения остальных слотов для ОГСЕ. Так как в ассемблере мягко говоря не силен решил спросить: 1) Если я в соответствующих местах в new_engine_slots.asm уберу ifdef OGSE_BUILD и соответственно endif для детектора, то будет ли это так работать? 2) Если на первый вопрос ответ да, то что делать вот с этим куском: ifdef OGSE_BUILD sub eax, 2 jz short is_detector ; eax == 8 sub eax, 1 else sub eax, 3 endif Ковыряем "Новый Арсенал" Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-977358
RayTwitty 573 Опубликовано 27 Ноября 2015 Поделиться Опубликовано 27 Ноября 2015 (изменено) 1) Если я в соответствующих местах в new_engine_slots.asm уберу ifdef OGSE_BUILD и соответственно endif для детектора, то будет ли это так работать?Да, только там не во всех местах перед дефайнами написано "detector". Надо смотреть куда ведут метки. В 269 строке надо тоже дефайн поправить. 2) Если на первый вопрос ответ да, то что делать вот с этим куском:Поставить ifndef OGSE_BUILD например. Изменено 27 Ноября 2015 пользователем RayTwitty 1 Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-977397
TIGER_VLAD 361 Опубликовано 27 Ноября 2015 Поделиться Опубликовано 27 Ноября 2015 (изменено) Всем привет. Интересует можно ли с помощью этого проекта правильно рассчитать хит нанесенный актору и узнать тип хита ? Вот недавно @RayTwitty кидал stalker_fix.asm. Нашел там такие строки ... cmp [esp+58h+var_14], 9 ; if (HDS.hit_type == ALife::eHitTypeWound_2) //тип хита? ... jnz short lab2 ; if(ALife::eHitTypeBurn != HDS.hit_type) ... call CDamageManager__HitScale ; CDamageManager::HitScale(HDS.boneID, conditions().hit_bone_scale(), conditions().wound_bone_scale(), pHDS->aim_bullet) // Вот это тоже интересует, я так понимаю расчет хита? conditions().hit_bone_scale() // А что это такое? Расчет хита по определенной кости ГГ? Изменено 27 Ноября 2015 пользователем TIGER_VLAD Ссылка на комментарий https://www.amk-team.ru/forum/topic/10538-x-ray-extensions/page/51/#findComment-977415
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти