Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Закрома Родины
GAMEINATOR forums > S.T.A.L.K.E.R. > Мастерская: создание модов для S.T.A.L.K.E.R.
Страницы: 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19, 20, 21, 22, 23, 24, 25, 26, 27, 28, 29, 30, 31, 32, 33, 34, 35, 36, 37, 38, 39, 40, 41, 42, 43, 44, 45, 46, 47, 48, 49, 50, 51, 52, 53, 54, 55, 56, 57, 58, 59, 60, 61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77
autistic
отлично, спасибо. я отбранчуюсь в свою ветку чтобы никому ничего не сломать )
alpet
В ревизию 94 отправил окончательную правку пулемета, и доработанное наконец управление световыми источниками. Понимания что там происходит с координатами, я пока так и не достиг - но решение нашлось в другом похожем объекте.
Документирую все это дело в wiki в обозримое время.
abramcumner
Цитата(alpet @ 16.07.2014, 14:20) *
В ревизию 94

Жуть, а не ревизия smile.gif Можно же было хотя бы по файлам разделить на несколько коммитов...

С GetGlobalTransformDynamic - молодца!
autistic
Цитата(alpet @ 16.07.2014, 14:20) *
В ревизию 94 отправил окончательную правку пулемета

это где такая, есть еще репозиторий?
jamakasi
Цитата(refuse @ 16.07.2014, 15:31) *
это где такая, есть еще репозиторий?

https://xp-dev.com/scs/210311
RayTwitty
Цитата
alpet: попытка исправить вертикальную инверсию, заметную при игре от 3-го лица

Так при использовании пулемета автоматически вид от 1 лица становится. Сбоку (себя) увидеть нельзя же.
alpet
Цитата(Shadows @ 16.07.2014, 15:52) *
Так при использовании пулемета автоматически вид от 1 лица становится. Сбоку (себя) увидеть нельзя же.

А в этом ролике тогда получается неписью кто-то рулит? Впрочем, возможно такое наблюдение удавалось лишь при наличии бага и статическом освещении R1.
Как я понимаю, с нынешним движком полноценных зеркальных поверхностей никогда не будет в игре? )

[edited]
С фонарем все ещё мучаюсь. Вроде-бы сделано задание виртуального радиуса 0.1, что соответствует SMAP_near_plane (до 18 ревизии) в классе CTorch. Однако фонарь упрямо демонстрирует шестнадцатигранник с резкими границами. С обрывом освещения все так-же плохо, и что интересно при дистанции свечения порядка 200, начинаются визуальные глюки с освещением.
Текстуры на зданиях изрядно плывут и накладываются почему-то. Похоже придется искать ревизию, в которой такой баг реализовался.
RayTwitty
Цитата(alpet @ 16.07.2014, 16:09) *
А в этом ролике тогда получается неписью кто-то рулит?

Это скорее всего сам ГГ и есть smile.gif
Он видимо на чистой игре тестил, без фикса. Такая ситуация возможна при координатах недалеко от центра локи. Тогда со стороны камера будет видеть по сути самого себя (визуал ГГ).
И кстати, враги будут атаковать актора именно там, где стоит визуал)) Т.е. мы можем самого себя защищать из пулемета как бы со стороны z_haha.gif

Эти приколы я выявил ещё давно, когда скриптами пытался что-то фиксить в том пулемете.
alpet
Кошмар с текстурами хорошо наблюдается в сумерках, при движении параллельно стенам. У кого-нибудь ещё подобное всплыло на последних ревизиях? Подозреваю я просто намешал себе разных шейдеров, из оригинала и репозитория, а какой-то шейдер с ошибками.
alpet
Убрал этот глюк, просто временно закомментировав подключение шейдеров высокого качества:
Код
    if (bump && hq)        {
        // KD: forming new shader names in case of detail bump or parallax

        if (C.bDetail_Bump)
            strcat            (ps,"_db");
        if (C.bParallax)
            strcat            (ps,"_steep");
        strcat            (vs,"-hq");
        strcat            (ps,"-hq");
    }

Возможно он редко воспроизводится. Если что у меня видеокарта Radeon HD 7970, тестирую в оконном режиме 1920х1080.
Lagos
Цитата(alpet @ 16.07.2014, 16:47) *
Кошмар с текстурами хорошо наблюдается в сумерках, при движении параллельно стенам. У кого-нибудь ещё подобное всплыло на последних ревизиях? Подозреваю я просто намешал себе разных шейдеров, из оригинала и репозитория, а какой-то шейдер с ошибками.

Движение текстур? Если об этом - то да, я замечал.
autistic
парни, у вас на битбакете две ветки mint, непонятно какую ю зать. такое бывает если был коммит в эту ветку с одной машины, а затем кто-то закоммитил в эту же ветку не применив изменения к локальной копии. треба чтобы один из коммитеров свел эти ветки вместе и запушил.
Tron
бери последнюю от nick7,он,как я понял не мерджил мои изменения со своими

попросту кинул правленые и снова закоммитил
autistic
Tron, ок возьму последний.
там два разных коммита от nick7, очевидно он с разных машин закоммитил, но к одному из коммитов не применил изменения, сделанные с другой машины. было бы не лишне, чтобы он сам проверил что к чему.
alpet
В 95-ой ревизии добавил в game_object метод set_direction (vector dir, float roll), позволяющий все поворачивать по всем трем осям.
При экспериментах получалась зенитная версия пулемета, правда вороны увы игнорируют стрельбу по ним.
MegaNub
Цитата(HikeR @ 16.07.2014, 10:06) *
а выше строки "[C++] Including vcl2.h instead of vcl.h due to -Hr switch" не наблюдается?

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

***
код писали мужики
баги закрывали
что пм от них хотел
они не понимали...
(ц) народный фольклор
Tron
Да нет никакой организации,каждый фиксит,что хочет.
Хотя,с другой стороны,версия,полностью стабильна.

Надо слить с частью изменений K.D,благо там есть хорошие правки,касающиеся СДК.

Лично я хочу заменить LuaBind,на свой,это позволит выкинуть boost.
Но я не понимаю,как заменить Functor
autistic
Цитата(Tron @ 17.07.2014, 22:26) *
Да нет никакой организации,каждый фиксит,что хочет.

ну ок, хотя программисту обычно надо говорить что ему надо делать, ставить задачи.

крэшнулось при попытке чтения пака с ресурсвми от стимовской версии (1.006) у этой версии что формат архива другой?


дайте ссыль на распаковщик, плиз :/
abramcumner
Цитата(refuse @ 17.07.2014, 22:45) *
крэшнулось при попытке чтения пака с ресурсвми от стимовской версии (1.006) у этой версии что формат архива другой?

Поищи дефайн RUSSIAN_BUILD smile.gif
autistic
abramcumner, спасибо, закомментировал и все починилось

столкнулся еще с парой проблем:
1 error MSB8031: Building an MFC project for a non-Unicode character set is deprecated.
ставил ли кто-то в связи с этим мультибайтную версию mfc?
http://www.microsoft.com/en-us/download/de...s.aspx?id=40770

2 падает с access violation в luaF_findupval, а при построении xrLua в компил логе вот такое предупреждение:
Unknown compiler version - please run the configure tests and report the results

в связи с этим вопрос - запускал ли кто-нить сборку собранную в 2013 студии? имеет ли ваще смысл компилировать столь раритетный проект в ней?
Tron
Цитата
в связи с этим вопрос - запускал ли кто-нить сборку собранную в 2013 студии? имеет ли ваще смысл компилировать столь раритетный проект в ней?

Имеет,лично портировал оригинальный сорец.
Все работает

Цитата
Unknown compiler version - please run the configure tests and report the results

Судя по всему был обновлен LuaJit.
Там требуется совпадение строкового параметра и дефайна и где то в коде(luajit) версия прописывалась

Что в SVN репозитории творится не знаю,но вроде там как раз обновляли Lua
HikeR
Цитата(refuse @ 18.07.2014, 01:24) *
Unknown compiler version - please run the configure tests and report the results

старый буст не понимает студию, это просто note, ничего страшного. если раздражает, то ctrf-f по исходникам буста на эту мессагу и поправить версию VS.

Цитата(refuse @ 17.07.2014, 22:45) *
хотя программисту обычно надо говорить что ему надо делать, ставить задачи.

легко ;)
  • выкинуть MFC из компиляторов, кратенький лог на консоль, полный в файл
  • выкинуть Gamespy/BattlEye из xrGame
  • выкинуть dsound из xrSound
  • выкинуть R1
  • если хочется созидательной работы, то добавить сортировку видео-разрешений в настройках
Tron
Цитата
старый буст не понимает студию, это просто note, ничего страшного. если раздражает, то ctrf-f по исходникам буста на эту мессагу и поправить версию VS.

Пардон,не дочитал цитату,наблюдал подобную в Lua(Unknown compiler version - abort)
Tron
Кстати,
https://github.com/Jawbone/OpenAL-MOB

Судя по инфе в инете,довольно интересная штука
Цитата
HRTF (Head-Related Transfer Functions) — это система бинаурального синтеза, имитирующая особенности пространственного слухового восприятия при использовании двух звуковых каналов (левого и правого). В качестве эталона при создании HRTF использовалась так называемая искусственная голова — специальный манекен с двумя микрофонами, расположенными в ушных раковинах. В результате сравнения сигналов, излучаемых источником из различных точек пространства и воспринимаемых микрофонами, установленными внутри манекена, была получена сферическая диаграмма. На основе этой диаграммы были разработаны довольно сложные системы фильтров, которые позволяют имитировать соответствующие изменения звуковых сигналов при перемещении их источников относительно головы слушателя.

Но,я нигде,не видел,чтобы её использовали в каком либо проекте.
autistic
Цитата(Tron @ 18.07.2014, 02:41) *
Все работает

в какой конфигурации компилил? я собирал в mixed, может в этом загвоздка?

HikeR, спасибо, но это какие-то чисто эстетического характера задачи, можно все оставить как есть и от этого ничего внешне не поменяется smile.gif
Tron
Собирал в Release
HikeR
Цитата(refuse @ 18.07.2014, 10:00) *
это какие-то чисто эстетического характера задачи

с MFC нельзя использовать Express версию студии. gamespy нынче мертв, сетевая игра, получается, тоже лежит мертвым кодом. вполне даже практичный характер.

Цитата(Tron @ 18.07.2014, 06:24) *
Но,я нигде,не видел,чтобы её использовали в каком либо проекте.

в Outerra недавно прикрутили, но если кто не слышал "старые" версии то понять разницу будет трудно. аутерра изначально многопоточное приложение, поэтому дополнительная нагрузка (весьма заметная) от этой фичи почти не влияет на результат. а в сталкере ее имеет смысл юзать только тем, у кого игра не загружает единственное ядро на 100%.
krovosnork
Цитата(refuse @ 18.07.2014, 07:00) *
но это какие-то чисто эстетического характера задачи

Поправить бы СДК, хоть немного.
alpet
Цитата(HikeR @ 18.07.2014, 02:59) *
  • выкинуть MFC из компиляторов, кратенький лог на консоль, полный в файл
  • выкинуть Gamespy/BattlEye из xrGame
  • выкинуть dsound из xrSound
  • выкинуть R1
  • если хочется созидательной работы, то добавить сортировку видео-разрешений в настройках

У меня есть тоже список желаний, который со временем надеюсь добить )
  • добавить к логу механизм verbosity, чтобы управлять детализацией его вывода из командной строки и скриптов.
  • оптимизация перехода объектов в онлайн, из-за которой порой жесткие лаги даже на ультрасовременных ПК. В NLC6 это решилось впрочем уже, через перевод в онлайн всей локации.
  • оптимизация загрузки сейвов, в т.ч. за счет многопоточной обработки ряда этапов (загрузка текстур например).
Shoкer
Цитата(alpet @ 18.07.2014, 13:02) *
[*]оптимизация перехода объектов в онлайн, из-за которой порой жесткие лаги даже на ультрасовременных ПК. В NLC6 это решилось впрочем уже, через перевод в онлайн всей локации.


Папка config\prefetch? biggrin.gif
Игра грузит не прописанные там модели на ходу (а точнее по требованию их игрой), поэтому появляются фризы при первой загрузке модели во время перехода объекта в онлайн. Если модель\объект прописан в prefetch, то он грузится в ОЗУ на стадии загрузки уровня -> дольше время загрузки, больше жрёт ОЗУ но нет лагов при переходе в онлайн объекта.
HikeR
Цитата(alpet @ 18.07.2014, 14:02) *
это решилось впрочем уже, через перевод в онлайн всей локации.

это похоже на "а давайте отключим LOD-ы и MIP-уровни, чего зря память тратить на их хранение".
alpet
Цитата(Shoкer @ 18.07.2014, 14:14) *
Папка config\prefetch? biggrin.gif
Игра грузит не прописанные там модели на ходу (а точнее по требованию их игрой), поэтому появляются фризы при первой загрузке модели во время перехода объекта в онлайн. Если модель\объект прописан в prefetch, то он грузится в ОЗУ на стадии загрузки уровня -> дольше время загрузки, больше жрёт ОЗУ но нет лагов при переходе в онлайн объекта.

Думаю это никак не связано с чтением с диска и загрузкой модели. У меня слишком жесткие фризы, несмотря на использование высокоскоростного SSD и 32Гб памяти (подразумевается что многие файлы должны успеть закэшироваться). Подозреваю что более всего уходят затраты на процессор, во время этапа "Синхронизации" - т.е. отработки скриптов по отношению к логике неписей. Косвенным доказательством этого служит такой эксперимент: если я спавню скриптом 5-10 одинаковых неписей лаг получается ничтожный, а когда 15-30 уже очень заметный. Тоже самое обнаруживается и в зависимости от заселенности локаций: очень заметный лаг при подходе к "Бару" наблюдается. Опять-же в моем случае указание в командной строке -noprefetch никак не влияет на этот фриз. В текущих версиях NLC6 такие фризы отсутствуют вообще, но этап синхронизации при загрузке иных сейвов очень затягивается: по выводу из скриптов выяснил, что идет настройка игровой логики для множества объектов, прописывания всяких там рестрикторов и т.п.

Цитата(HikeR @ 18.07.2014, 14:19) *
это похоже на "а давайте отключим LOD-ы и MIP-уровни, чего зря память тратить на их хранение".

В случае NLC6 требования к памяти и так весьма высоки. Обычно используется 2.2-2.4Гб из доступных движку ~3.7Гб. Запуск в 32-битных системах или уже невозможен, или требует отключения качественной графики - даже не пробовал.
autistic
пока занимаюсь секасом с компилятором поразвлекаю вас немного:
Код
pointer_holder(
        P p, class_id dynamic_id, void* dynamic_ptr, class_rep* cls
    )
      : instance_holder(cls, check_const_pointer(false ? get_pointer(p) : 0))
      , p(p)
      , weak(0)
      , dynamic_id(dynamic_id)
      , dynamic_ptr(dynamic_ptr)
    {}


--> instance_holder(cls, check_const_pointer(false ? get_pointer(p) : 0))

очень интересная строка, тут в списке инициализации сначало вызывается ф-ия get_pointer(), затем в ф-ию check_const pointer() всегда передается ноль, а мулька в том, что vs2013 нехотет компилять такую хитрую конструкцию smile.gif
нашел в исходниках luabind последней версии
Tron
refuse,а попробуй с вот этим luabind
HikeR
Цитата(refuse @ 18.07.2014, 17:34) *
сначало вызывается ф-ия get_pointer()

она не может вызываться (если только кто-то не сделал #define false true). откуда такая ф-ия?
autistic
HikeR, instance_holder.hpp luabind 0.9.1
HikeR
какой-то неправильный буст. полистайте топик, советовали юзать не выше 1.30. я с официальным 1.31 собирал, но там таких приколов с false нет.
Tron
Цитата(refuse @ 18.07.2014, 18:45) *
HikeR, instance_holder.hpp luabind 0.9.1

а чем тот,который я приложил выше не устраивает?-он основан на последней ветке,вдобавок буст не требует.
Правда нужна студия 12 и выше
autistic
HikeR, c luabind этой версии требуется boost 1.34 использовать smile.gif

Цитата(Tron @ 18.07.2014, 17:59) *
а попробуй с вот этим luabind

чуть попозжа, когда закончу этот ад разгребать, можно будет, но что-то мне подскаывает, что там буст велосипедми заменили просто, а хрен редьки не слаще biggrin.gif

Цитата(HikeR @ 18.07.2014, 18:58) *
там таких приколов с false нет

это не в бусте (хотя мб в бусте тоже такое водится)
https://github.com/luabind/luabind/blob/mas..._holder.hpp#L78
HikeR
Цитата(refuse @ 18.07.2014, 19:24) *
HikeR, c luabind этой версии требуется boost 1.34 использовать

эээ... вы же сказали "0.9.1". или уже все поменялось? ;)


Цитата(refuse @ 18.07.2014, 19:30) *
это не в бусте

блин, вижу luabind 0.9.1, читаю boost 0.9.1...
проклятая жара.

p.s.
кто знающий, обясните этот финт:
Код
Use false : x : 0 idiom to avoid evaluating x.

-      : instance_holder(cls, check_const_pointer(get_pointer(p)))
+      : instance_holder(cls, check_const_pointer(false ? get_pointer(p) : 0))
autistic
Цитата(HikeR @ 18.07.2014, 19:42) *
кто знающий, обясните этот финт:

http://habrahabr.ru/post/205848/

я так думаю это сделано для приведения к общему типу, т.к. существует две перегрузки check_const_pointer(), вот только vs2013 этого прикола не оценила

по задумке оно как-то так должно было быть: http://ideone.com/IsALKy
HikeR
@#$%&@ шаблоны, все у них не по-человечески...
Tron
Кстати,расскажите мне пожалуйста про пайплайн в иксрее(я созданием локаций и моделей не занимался никогда-не по моей части)
Как я понимаю экспортер экспортирует в некий промежуточный формат,который уже потом принимается в actorEditor и он уже выдает OGF?
С локациями понятно-они хранятся в собственном бинарном формате
krovosnork
Цитата(Tron @ 18.07.2014, 18:18) *
Как я понимаю экспортер экспортирует в некий промежуточный формат,который уже потом принимается в actorEditor и он уже выдает OGF?

Экспортер экспортирует в .object, потом в АЕ можно экспортнуть в ОГФ.
Tron
Цитата(krovosnork @ 18.07.2014, 21:25) *
Цитата(Tron @ 18.07.2014, 18:18) *
Как я понимаю экспортер экспортирует в некий промежуточный формат,который уже потом принимается в actorEditor и он уже выдает OGF?

Экспортер экспортирует в .object, потом в АЕ можно экспортнуть в ОГФ.

Сразу оговорюсь,я пока это не прорабатывал
Понятно,как я и думал.
А там в ActorEdtor,как я понимаю можно настраивать любые параметры?(я просто с СДК не работал)
Попросту,может получится выкинуть это звено(ActorEditor)...
krovosnork
Цитата(Tron @ 18.07.2014, 18:33) *
А там в ActorEdtor,как я понимаю можно настраивать любые параметры

Именно. Текстуры, шейдеры, материалы. Это вполне можно перенести в Library Editor в LE

Вот сюда
autistic
Цитата(HikeR @ 18.07.2014, 21:08) *
@#$%&@ шаблоны, все у них не по-человечески...

оказалось все работает, просто туда указатель на ф-ию передавался, а его не так просто привести к обычному указателю.
указатель передается в файле ResourceManager_Scripting.cpp(153), раньше там очевидно обертка была, которая преобразовывала этот указатель и видимо я ее выпилил вместе со старым луабиндом, пришлось свою написать:
Код
template <class T>
void function(lua_State* L, const char *name, T ptr)
{
    typedef void(*FnPtr)(const char *);

    union CallbackCast{
        FnPtr    functionPtr;
        void    *anyPtr;
    };

    // yep i know its undefined behaviour
    CallbackCast cbCast = { ptr };
    luabind::call_function(L, name, cbCast.anyPtr);
}
RayTwitty
Цитата(Tron @ 18.07.2014, 21:33) *
Попросту,может получится выкинуть это звено(ActorEditor)...

А конфиг костей/анимаций дин. моделей где будешь настраивать? biggrin.gif
Modera
А в ЗП сдк там ещё можно физику проверять...
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.
Форум IP.Board © 2001-2024 IPS, Inc.