Это популярное сообщение. 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 Ссылка на комментарий
KD87 718 Опубликовано 16 Октября 2014 Поделиться Опубликовано 16 Октября 2014 Для cform-треугольников нормали не хранятся. Материал хранится в виде ID, а не в каком-то другом виде. Ссылка на комментарий
НаноБот 742 Опубликовано 16 Октября 2014 Поделиться Опубликовано 16 Октября 2014 (изменено) В общем малость ошибся, нормаль надо инвертировать. function normal_triangle(a, b, c) -- нормаль треугольника local n = vector() n.x = ((b.z-a.z)*(c.y-a.y))-((b.y-a.y)*(c.z-a.z)) n.y = ((b.x-a.x)*(c.z-a.z))-((b.z-a.z)*(c.x-a.x)) n.z = ((b.y-a.y)*(c.x-a.x))-((b.x-a.x)*(c.y-a.y)) return n:normalize() end Тогда функция dirref:reflect(dir, normal) нормально рикошет считает. ЗЫ А как материал определить? Изменено 16 Октября 2014 пользователем НаноБот ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
KD87 718 Опубликовано 16 Октября 2014 Поделиться Опубликовано 16 Октября 2014 Никак. Да и все равно никакого доступа к gamemtl.xr из скриптов нет, зачем он тогда нужен, этот материал. Или будешь дублировать всю базу данных в скрипте? Ссылка на комментарий
НаноБот 742 Опубликовано 16 Октября 2014 Поделиться Опубликовано 16 Октября 2014 Это понятно что из скриптов не чего толком не доступно, но из движка же доступно. //статический объект //получить треугольник и узнать его материал CDB::TRI* T = Level().ObjectSpace.GetStaticTris()+result.element; hit_material_idx = T->material; SGameMtl* mtl = GMLib.GetMaterialByIdx(hit_material_idx); if( fsimilar(mtl->fShootFactor,1.0f,EPS) )//Если материал полностью простреливаемый { pData->bStopTracing = false; }else Level().BulletManager().RegisterEvent(EVENT_HIT, FALSE,bullet, end_point, result, hit_material_idx); С компилировать функцию в асм и добавить в ваши библиотеки. А как остальное сделано? Или я что то не понимаю. ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
RayTwitty 508 Опубликовано 16 Октября 2014 Поделиться Опубликовано 16 Октября 2014 (изменено) С компилировать функцию в асм и добавить в ваши библиотеки.Между 6 и 7 патчем могут быть отличия в смещениях. Хотя, может и прокатит, тут надо проверять. Изменено 16 Октября 2014 пользователем Shadows 1 1 Ссылка на комментарий
Anonim 680 Опубликовано 10 Ноября 2014 Поделиться Опубликовано 10 Ноября 2014 Можете пояснить смысл правки "виртуальный радиус ламп"? Ссылка на комментарий
RayTwitty 508 Опубликовано 10 Ноября 2014 Поделиться Опубликовано 10 Ноября 2014 @Anonim, размер виртуальной сферы из которой будет исходить свет. То есть, свет не из модели идет, а из точки, определенного размера, который можно задать этим параметром. Правка заключается в том, чтобы можно было задавать меньший радиус, для создания корректных теней от точечного светильника. 2 1 Ссылка на комментарий
Anonim 680 Опубликовано 10 Ноября 2014 Поделиться Опубликовано 10 Ноября 2014 Свет угловатый, как исправить? Ссылка на комментарий
RayTwitty 508 Опубликовано 10 Ноября 2014 Поделиться Опубликовано 10 Ноября 2014 Свет угловатый, как исправить?Как понять угловатый? Скрин? Ссылка на комментарий
Anonim 680 Опубликовано 10 Ноября 2014 Поделиться Опубликовано 10 Ноября 2014 (изменено) http://sa.uploads.ru/Npwe6.jpg Изменено 10 Ноября 2014 пользователем Anonim Ссылка на комментарий
Это популярное сообщение. macron 1 884 Опубликовано 10 Ноября 2014 Это популярное сообщение. Поделиться Опубликовано 10 Ноября 2014 Обновлён X-Ray extensions portable:https://yadi.sk/d/lKdH2SUXcdGEUЧто нового:-основан на SVN r171 2 3 Ссылка на комментарий
НаноБот 742 Опубликовано 15 Ноября 2014 Поделиться Опубликовано 15 Ноября 2014 (изменено) Усем доброго времяни! Мои наработки, по проекту X-Ray extensions. Удалось найти функцию определения материала, в точности GetMtlfShootFactor Это значение флоат от 0 до 1, 0 - полностью не простреливаемый материал, 1 - полностью простреливаемый. Вот она. ; --------=====НаноБот=====--------- Level__GetMtlfShootFactor proc res = dword ptr 8 index = dword ptr 0Ch push ebp mov ebp, esp push ecx push edx push edi push esi ;------------------------------------------------- mov eax, [ebp + index] ;[g_int_argument_0] ; results.element ;PRINT_UINT "element = %d", eax mov ecx, ds:g_pGameLevel mov ecx, [ecx] mov esi, [ecx+0DCh] ; tri array shl eax, 4 ; eax = results.element * 8 mov cx, [eax+esi+0Ch] and cx, 3FFFh movzx edx, cx ; hit_material_idx mov eax, ds:dword_10560718 mov ecx, [eax+edx*4] ; ecx = mtl mov eax, [ebp+res] mov ecx, [ecx+28h] ; ecx = mtl->fShootFactor mov [eax], ecx ; -- временно, пока беремена! =) -- ;PRINT_FLOAT "MtlfShootFactor=%f", ecx ;fld dword ptr [ecx+28h] ;[eax] xor ecx, ecx mov [eax+4], ecx mov [eax+8], ecx ;---------------------- pop esi pop edi pop edx pop ecx mov esp, ebp pop ebp retn Level__GetMtlfShootFactor endp ; --------===============--------- Функция рабочая, но надо дополнительная функция ввода вывода, я использовал. PERFORM_EXPORT_LEVEL__VECTOR__INT А надо: PERFORM_EXPORT_LEVEL__FLOAT__INT В общем делаем эту функцию, и портируем в проект. Так же, надо функция проверки проходимости материала, для улучшенного ИИ НПС и других существ (дроны, живые мертвецы и т.д.). Есть возможность ставить блудмарки на геометрию и тела, если надо, могу найти код. Так же, если изучу получше С++ и ассемблер могу и присоединиться к проекту, хотя это пока рано. Изменено 15 Ноября 2014 пользователем НаноБот 1 1 ...в конце концов, важен лишь, машинный код. СТАЛКЕР только для ПК! Ссылка на комментарий
AnoniM12 45 Опубликовано 15 Ноября 2014 Поделиться Опубликовано 15 Ноября 2014 @НаноБот, было бы не плохо восстановить волмарки на динамичных объектах, в ЗП. Или в ЗП волмарки на динамичных объектах полностью вырезаны? Портфолио: https://yadi.sk/d/rkLI73WUcsu3p Ссылка на комментарий
Levigatis 104 Опубликовано 15 Ноября 2014 Поделиться Опубликовано 15 Ноября 2014 Или в ЗП волмарки на динамичных объектах полностью вырезаны? Хм, а разве в ТЧ или ЧН они были?.. Вместо движущихся объектов, все-таки предпочтительнее банальные следы от пуль на тушках убитых мутантов и сталкеров. Ссылка на комментарий
AnoniM12 45 Опубликовано 15 Ноября 2014 Поделиться Опубликовано 15 Ноября 2014 @Levigatis, в ТЧ точно были, возвращаются с помощью движковой правки http://www.gameru.net/forum/index.php?showtopic=23443&st=160&p=1117297entry1117297 Портфолио: https://yadi.sk/d/rkLI73WUcsu3p Ссылка на комментарий
DDamian724 18 Опубликовано 15 Ноября 2014 Поделиться Опубликовано 15 Ноября 2014 Hey. How to make sprint animations for knife, bolt and binocular. Like a OLR 2.5 Ссылка на комментарий
DDamian724 18 Опубликовано 24 Ноября 2014 Поделиться Опубликовано 24 Ноября 2014 Привет. Почему бы вам не сделать рентгеновские версии расширений для всего мира (WW)? И 1,0004 версия? Ссылка на комментарий
User_X.A.R26 261 Опубликовано 24 Ноября 2014 Поделиться Опубликовано 24 Ноября 2014 @DDamian724, 1.0004 patch is very obsolete. You should write in English to understand you Ссылка на комментарий
DDamian724 18 Опубликовано 24 Ноября 2014 Поделиться Опубликовано 24 Ноября 2014 Why? 1.0004 is popular patch, how to adjust x-ray ext to 1.0004 patch? Ссылка на комментарий
User_X.A.R26 261 Опубликовано 24 Ноября 2014 Поделиться Опубликовано 24 Ноября 2014 (изменено) @DDamian724, hmm, actually 1.0006 patch came out much more worthwhile project and 1.0006 patch more technological @DDamian724, 1.0004 patch has long been a not so popular patch @Malandrinus, кстати, почему SVN, а не, допустим, Mercurial? В Mercurial же можно более наглядно просматривать все ветки и ревизии Изменено 24 Ноября 2014 пользователем User_X.A.R26 Ссылка на комментарий
Рекомендуемые сообщения
Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий
Комментарии могут оставлять только зарегистрированные пользователи
Создать аккаунт
Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!
Зарегистрировать новый аккаунтВойти
Есть аккаунт? Войти.
Войти