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

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

  Dennis_Chikin писал(а):

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

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

 

  Цитата

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

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

  Полезный утиль (Показать)
Ссылка на комментарий
  02.02.2015 в 14:54, malandrinus сказал:

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

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

 

  Цитата

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

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

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

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

@Andrey07071977, неа.

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

Ссылка на комментарий
  abramcumner писал(а):

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

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

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

 

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

Суть косяка примерно такая. Когда рендерится карта теней (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
  Полезный утиль (Показать)
Ссылка на комментарий

В 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
Ссылка на комментарий

 

 

  PlayMod писал(а):
В какой ревизии инерция zoom'а?

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

  • Нравится 1
  • Не нравится 1
  • Согласен 1
  Полезный утиль (Показать)
Ссылка на комментарий
  PlayMod писал(а):

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

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

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

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

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

Ссылка на комментарий
  10.02.2015 в 19:40, User_X.A.R26 сказал:

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

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

  Цитата

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

  02.02.2015 в 20:20, malandrinus сказал:

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

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

 

  Цитата

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

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

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

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

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

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

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

Войти

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

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

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