Перейти к контенту

Рекомендуемые сообщения

Опции, которые задаются при запуске движка. И, по сути, да, которыми выбирается нужный бранч (но внутри одного exe).

Это как? Бранч - это отдельный проект. Собирается отдельно и приводит к созданию отдельной библиотеки.

 

инвентарь ЗП/билд, грубо говоря. Хотя не уверен, что вот этот конкретный случай - именно через опции. Скорее, именно инвентарная dll.

DLL - это тяжёлая артиллерия. Вот рендер вынести в dll - это можно, сетевой сервер, модуль звука - можно. А вот кусок xrGame так просто вынести - ни малейшего смысла нет. Что есть смысл сделать - это вынести весь оконный интерфейс в скрипты, а в движке оставить только базовые классы и контролы + полно и аккуратно экспортировать их скриптовые интерфейсы. Тогда можно будет лепить окна скриптами как душа пожелает. И это вполне реально, как показывает пример полностью написанного скриптами главного меню и многочисленных и довольно сложных оконных наработок в модах.

 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

1. Нет единого и принятого всеми собираемого проекта движка. Т.е. проекты то есть, но вот "единого и принятого всеми" пока нету.

И не нужен. Каждый ведет свой проект. Понравилась фишка - вытаскиваешь к себе из другого проекта.

 

Что в итоге, учитывая уже иные реалии модостроя, приведёт к стагнации проекта (вы просто не дозовётесь никого, чтобы внести даже самую мелкую правку).

Это уже давно обдумано. Потерялись авторы - делаешь форк и спокойно вносишь свою правку. Если авторы появятся и захотят, заберут правку обратно.
  • Согласен 2
  • Не согласен 1
Ссылка на комментарий

Кстати, @abramcumner, ты не в курсе где корректируются тени от зарешеченных ламп, чтоб нормально тени отбрасывали, а не тупо крестик на стене?

Ссылка на комментарий

@Andrey07071977, неа.

Вроде как надо убрать в коде ограничение на виртуальный радиус ламп(можно в xp-dev поискать коммит по этому ключевому слову), и в модели перенести источник света внутрь лампы.

Ссылка на комментарий

и в модели перенести источник света внутрь лампы.

Без индивидуальной настройки ламп в СДК (их виртуального радиуса) не имеет смысла. По дефолту там всегда 0.1, а при таком значении тень будет уродливая (если речь идет об аварийной лампе, из-за которой в своё время всё и затевалось). Изменено пользователем Shadows
Ссылка на комментарий

@abramcumner, если так подумать, то самом деле вообще не верится в силу сообщества в данном случае. Равно как не видно особенного смысла в буквальном переносе правок из x-ray extensions. В GSC за модуль xrGame отвечал по большей части один человек (Ясенев). Думаю, что один-два грамотных человека потянули бы и поддержку/некое минимальное развитие этого модуля. Но только под конкретный проект. Всё иное обречено на заведомый провал.

 

где корректируются тени от зарешеченных ламп

Суть косяка примерно такая. Когда рендерится карта теней (Shadow Map = SMAP) конкретного источника света, то там задаётся форма усечённой пирамиды проекции, где угол - задаётся собственно углом источника света, дальняя поверхность (far plane) - дальностью источника света, а ближняя (near plane) - это как раз искомый размер, называемый SMAP_near_plane, он же поле virtual size в серверном классе. Тень отбрасывает всё, что попадает внутрь этой пирамиды, и иногда что-то близкое к центру проекции не влазит, что и даёт отсечение части теней. Чтобы это пофиксить, надо уменьшить этот виртуальный радиус.

Ну вот в серверном классе это поле есть, как есть и в acdc, а до источника света оно почему-то не доходит, и там просто ставится число 0.1. Чтобы это пофиксить надо решить две проблемы: (1) в клиентском классе нет поля для хранения этого значения, (2) значение 0.1 вкомпилено в код.

Правка делается в нескольких местах:
Во-первых, организуется место, где храним данные. Где-то, уже в упор не помню где, увеличивается размер объекта при создании. Кажется это размер объекта источника света, но где это делалось - уже не помню.
Далее в файле hanging_lamp_fix.asm проекта xrGame (врезка CHangingLamp__net_Spawn_fix) значение из серверного объекта копируется в организованное место в клиентском.
Далее уже в рендере в файле light_fix.asm (врезка CLight_Compute_XFORM_and_VIS__compute_xf_spot_fix) заменяется довольно большой кусок, где вместо вкомпилированного 0.1 используется правильное значение.

В сырцах это место находится в файле Light_Render_Direct_ComputeXFS.cpp, функция CLight_Compute_XFORM_and_VIS::compute_xf_spot. Разумеется в сырцах и меньше проблем будет с тем, где хранить данные.
 
  • Спасибо 3
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

В 179 ревизии я эту правку кстати немного доделал. В ХЕ по идее, должно всё так же выглядеть, хотя я детально там код не разбирал.

https://xp-dev.com/sc/204486/HEAD/

Ссылка на комментарий

Так!

Доработал я правки, за одно и ваши функции доделал, проверка на element == -1, выдаёт вектор равен set(0,0,0). Так же, там есть спецприбор для теста этих функций и геометрией (папка gamedata), прибор можно практически в любом моде использовать, в котором проект X-Ray extensions используется. Настраивается так:

в файл system.ltx, добавить строчку #include "misc\spezpribor.ltx", 

в файл bind_stalker.script добавить строчку bind_pribor.spawn_pribor() в функцию actor_binder:net_spawn(data) в конец перед return true, так же, эту строчку можно в любой другой скрипт добавить, который по инфопоршню срабатывает.

Ссылка не изменилась.

https://yadi.sk/d/IXDVG_nrdQtfV

 

ЗЫ

Теперь скрипт не отваливается, но это не значит что скриптер не должен это(element == -1) не проверять.

Изменено пользователем НаноБот
  • Полезно 1

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

Ссылка на комментарий

Возможно ли врезкой в код восстановить анимацию хитов в ТЧ? Говорю восстановить, т.к. в коде самого XrGame видел описание этих анимаций и в билде 3120 они работают (Так же работают и в ЧН/ЗП - при выстреле в НПС он, в зависимости от того, в какую кость попали двигает туловищем, например если в плечо попали то НПС как-бы плечо назад отводит.).

Ссылка на комментарий
@Notfounded, так они есть в ТЧ - стреляем в ногу, НПС немного сгибается или может припасть на колено. Инфа 100%. Изменено пользователем Shadows
  • Согласен 1
Ссылка на комментарий
, эти есть, я говорил про немного другие, в файле анимаций hit_frontl и похожие, вроде такая там тоже есть, они с 3120 билда появились, но их код в XrGame еще со времен ТЧ заметил. Изменено пользователем Notfounded
Ссылка на комментарий

 

 

В какой ревизии инерция zoom'а?

Никто не помнит ревизии по номерам. Чтобы ответить на этот вопрос, надо открыть лог и найти там нужную правку. Ты хочешь, чтобы кто-то сделал это за тебя?

  • Нравится 1
  • Не нравится 1
  • Согласен 1
 

Плагины Total Commander для работы с игровыми архивами:

Архиваторный плагин (для работы с одиночным архивом): link1 link2

Системный плагин (для распаковки установленной игры): link1 link2

 

Ссылка на комментарий

Эмм. В какой ревизии инерция zoom'а?

Во всех, начиная со 164-ой. Но по умолчанию правка выключена. Изменено пользователем Shadows
Ссылка на комментарий

Кстати, когда мои правки добавите в проект? Скриптовые пули уже практически готовы.

...в конце концов, важен лишь, машинный код.

СТАЛКЕР только для ПК!

Ссылка на комментарий

@Malandrinus, а вы не записываете изменения в описание ревизии?

Конечно записывают. Malandrinus и предлагал почитать описания ревизий:

надо открыть лог и найти там нужную правку

@abramcumner, если так подумать, то самом деле вообще не верится в силу сообщества в данном случае.

А зачем верить, надо брать и делать самому. Как делали xray-tools, xray-extensions, да и просто моды. А народ подтянется.

 

Но только под конкретный проект. Всё иное обречено на заведомый провал.

Конечно, проект первичен. От него и надо плясать - нужны ли правки движка, какие если нужны. Единственное, что вся разработка должны быть открыта - так и прогресс виден и люди всякого не навыдумывают. Такое у меня сейчас ощущение :)
  • Нравится 1
Ссылка на комментарий

Создайте аккаунт или авторизуйтесь, чтобы оставить комментарий

Комментарии могут оставлять только зарегистрированные пользователи

Создать аккаунт

Зарегистрировать новый аккаунт в нашем сообществе. Это несложно!

Зарегистрировать новый аккаунт

Войти

Есть аккаунт? Войти.

Войти
  • Недавно просматривали   0 пользователей

    • Ни один зарегистрированный пользователь не просматривает эту страницу.
×
×
  • Создать...