Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

> Закрома Родины
fen1x
сообщение 17.09.2014, 16:27
Сообщение #1581


И никаких няш-мяш!
**************************

Репутация:   5029  
Группа: Участник
Сообщений: 28157
Регистрация: 04.02.2003




Вставить ник Цитировать выделенное в форуму быстрого ответа




Сборка движка X-Ray 1.0007 RC1
Сборка движка ЗП от Shoker
0) Устанавливаем Visual Studio 2008 SP1 (Proffesional или Team, я собирал в первой), сервис пак из архива engine.vc2008.fixed.rar подходит только к английской версии студии, для русской нужно будет скачать отдельно.
______________________________________________
1) Создаём на диске папку, в ней ещё одну папку.

2) В эту папку помещаем только папку engine.vc2008 из архива "engine.vc2008.fixed - фикшенный мною проект vs2008", папку SDK от туда не трогаем.

3) Папку SDK берём из архива "stasvn\sources\engine.vc2005-2008(~1.6.02 бенчмарк) - март 2010", из под-папки sources.
Помещаем её в одну папку к engine.vc2008



4) Вот теперь поверх неё докладываем папку SDK из архива engine.vc2008.fixed.rar, соглашаемся на замену всех файлов

5) Качаем с сайта майкрософт два DirectX SDK - 2009 March и 2010 June. (Вес каждой около 500 мб), можно использовать только версию 2009, но тогда не сможете собрать xrRender_R4. (LINK : fatal error LNK1181: cannot open input file 'd3d11.lib'), а если будете использовать только 2010 - игра с R4 не запустится.

После установки двух DX SDK убедитесь что они прописали свои пути в студию, файлы 2010-го СДК должны быть после 2009-го, как показано на рисунке:



Аналогично для разделов Executable files и Include files. Если возникнут вопросы, ищите информацию в гугле по словам "подключение directx sdk visual studio 2008"

При неправильных версиях СДК (или его не-подключении) в логе будет ругань на отсутствие файлов типа d3dXX.lib\.h)
Перемещать папки из уже установленного DirectX SDK никуда не нужно. Достаточно прописать к ним пути глобально для студии (или для каждого проекта вручную)

Комментарий от loxotron: достаточно скопировать и переименовать d3d11_beta.lib в d3d11.lib в папке с директовским сдк, а еще лучше скачать и поставить DX SDK August 2009 и не париться с неподходящими версиями.

6) На всякий случаи можно установить ещё SDK\OpenALwEAX.exe, но не уверен что он критически необходим.

7) Запускаем проект через ..\CoP\Project\engine.vc2008\engine.sln. Когда он загрузится, вверху студии режим сборки с Debug_Dedicated (или любой другой) меняем на Release. Далее слева\справа будет список папок с файлами движка, нам нужна, в первую очередь, папка 3rd_party - жмём на неё правой кнопкой мыши и выбираем Build\Построить.

Если всё будет правильно, то в конце лог внизу напишет об 11 успешных проектах (или число будет меньше, если некоторые проекты уже были собраны до этого, лог об этом тоже сообщит "пропущены\up to date") Главное чтобы Ошибок\Fatal везде было 0
У меня собрались полностью все проекты без ошибок. (warning за полноценные ошибки не считаются)

8) По аналогии, сверху вниз, можно собрать другие Dll-ки, папки editor\dedicated\utils\plugins собирать не обязательно - к движку они не относятся. Дольше всего будет собираться xrGame.dll. Остальные достаточно быстро.

Собирать все Dll-ки к слову не обязательно. Можно лишь нужные. Когда они будут готовы - создать чистую папку bin в папке с игрой. Закинуть туда все созданные dll файлы (можно вместе с .pdb). При необходимости, можно докинуть отсутствующие файлы из оригинальной bin ЗП (2-ой патч), если игра будет их требовать. (Навроде wrap_oal.dll)
Игру я запускал с оригинального Stalker-COP.exe

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


Сообщение отредактировал RayTwitty - 22.01.2016, 17:03
Перейти в начало страницы
 
191 страниц V  « < 78 79 80 81 82 > »   
Начать новую тему
Ответов
Shoкer
сообщение 18.07.2014, 13:14
Сообщение #1582


Кандидат Игровых Наук
******************

Репутация:   2153  
Группа: Участник
Сообщений: 3488
Награды: 4
Регистрация: 27.07.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


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


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

Сообщение отредактировал Shoкer - 18.07.2014, 13:19


--------------------
Мне просто нравятся синие буквы под сообщением.
Перейти в начало страницы
 
HikeR
сообщение 18.07.2014, 13:19
Сообщение #1583


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(alpet @ 18.07.2014, 14:02) *
это решилось впрочем уже, через перевод в онлайн всей локации.

это похоже на "а давайте отключим LOD-ы и MIP-уровни, чего зря память тратить на их хранение".

Сообщение отредактировал HikeR - 18.07.2014, 13:19
Перейти в начало страницы
 
alpet
сообщение 18.07.2014, 14:45
Сообщение #1584


Геймер
******

Репутация:   19  
Группа: Участник
Сообщений: 130
Награды: 2
Регистрация: 24.05.2008




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(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-битных системах или уже невозможен, или требует отключения качественной графики - даже не пробовал.

Сообщение отредактировал alpet - 18.07.2014, 14:51
Перейти в начало страницы
 
autistic
сообщение 18.07.2014, 16:34
Сообщение #1585


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


пока занимаюсь секасом с компилятором поразвлекаю вас немного:
Код
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 последней версии

Сообщение отредактировал refuse - 18.07.2014, 16:35


--------------------
nop
Перейти в начало страницы
 
Tron
сообщение 18.07.2014, 16:59
Сообщение #1586


Игровой Эксперт
***************

Репутация:   407  
Группа: Участник
Сообщений: 2394
Награды: 5
Регистрация: 19.01.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


refuse,а попробуй с вот этим luabind
Перейти в начало страницы
 
HikeR
сообщение 18.07.2014, 17:06
Сообщение #1587


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(refuse @ 18.07.2014, 17:34) *
сначало вызывается ф-ия get_pointer()

она не может вызываться (если только кто-то не сделал #define false true). откуда такая ф-ия?
Перейти в начало страницы
 
autistic
сообщение 18.07.2014, 17:45
Сообщение #1588


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


HikeR, instance_holder.hpp luabind 0.9.1


--------------------
nop
Перейти в начало страницы
 
HikeR
сообщение 18.07.2014, 17:58
Сообщение #1589


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


какой-то неправильный буст. полистайте топик, советовали юзать не выше 1.30. я с официальным 1.31 собирал, но там таких приколов с false нет.
Перейти в начало страницы
 
Tron
сообщение 18.07.2014, 18:20
Сообщение #1590


Игровой Эксперт
***************

Репутация:   407  
Группа: Участник
Сообщений: 2394
Награды: 5
Регистрация: 19.01.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(refuse @ 18.07.2014, 18:45) *
HikeR, instance_holder.hpp luabind 0.9.1

а чем тот,который я приложил выше не устраивает?-он основан на последней ветке,вдобавок буст не требует.
Правда нужна студия 12 и выше
Перейти в начало страницы
 
autistic
сообщение 18.07.2014, 18:30
Сообщение #1591


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


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


--------------------
nop
Перейти в начало страницы
 
HikeR
сообщение 18.07.2014, 18:42
Сообщение #1592


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(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))


Сообщение отредактировал HikeR - 18.07.2014, 18:37
Перейти в начало страницы
 
autistic
сообщение 18.07.2014, 18:52
Сообщение #1593


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(HikeR @ 18.07.2014, 19:42) *
кто знающий, обясните этот финт:

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

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

по задумке оно как-то так должно было быть: http://ideone.com/IsALKy

Сообщение отредактировал refuse - 18.07.2014, 19:41


--------------------
nop
Перейти в начало страницы
 
HikeR
сообщение 18.07.2014, 20:08
Сообщение #1594


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


@#$%&@ шаблоны, все у них не по-человечески...
Перейти в начало страницы
 
Tron
сообщение 18.07.2014, 20:18
Сообщение #1595


Игровой Эксперт
***************

Репутация:   407  
Группа: Участник
Сообщений: 2394
Награды: 5
Регистрация: 19.01.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


Кстати,расскажите мне пожалуйста про пайплайн в иксрее(я созданием локаций и моделей не занимался никогда-не по моей части)
Как я понимаю экспортер экспортирует в некий промежуточный формат,который уже потом принимается в actorEditor и он уже выдает OGF?
С локациями понятно-они хранятся в собственном бинарном формате
Перейти в начало страницы
 
krovosnork
сообщение 18.07.2014, 20:25
Сообщение #1596


Почти Игроман
*********

Репутация:   127  
Группа: Участник
Сообщений: 643
Награды: 3
Регистрация: 29.09.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Tron @ 18.07.2014, 18:18) *
Как я понимаю экспортер экспортирует в некий промежуточный формат,который уже потом принимается в actorEditor и он уже выдает OGF?

Экспортер экспортирует в .object, потом в АЕ можно экспортнуть в ОГФ.
Перейти в начало страницы
 
Tron
сообщение 18.07.2014, 20:33
Сообщение #1597


Игровой Эксперт
***************

Репутация:   407  
Группа: Участник
Сообщений: 2394
Награды: 5
Регистрация: 19.01.2009




Вставить ник Цитировать выделенное в форуму быстрого ответа


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

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

Сразу оговорюсь,я пока это не прорабатывал
Понятно,как я и думал.
А там в ActorEdtor,как я понимаю можно настраивать любые параметры?(я просто с СДК не работал)
Попросту,может получится выкинуть это звено(ActorEditor)...
Перейти в начало страницы
 
krovosnork
сообщение 18.07.2014, 20:43
Сообщение #1598


Почти Игроман
*********

Репутация:   127  
Группа: Участник
Сообщений: 643
Награды: 3
Регистрация: 29.09.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Tron @ 18.07.2014, 18:33) *
А там в ActorEdtor,как я понимаю можно настраивать любые параметры

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

Вот сюда
Перейти в начало страницы
 
autistic
сообщение 18.07.2014, 21:18
Сообщение #1599


Геймер
******

Репутация:   86  
Группа: Участник
Сообщений: 128
Награды: 4
Регистрация: 05.05.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(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);
}


--------------------
nop
Перейти в начало страницы
 
RayTwitty
сообщение 18.07.2014, 22:20
Сообщение #1600


Игровой Бог
**********************

Репутация:   648  
Группа: Участник
Сообщений: 5354
Награды: 9
Регистрация: 24.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Tron @ 18.07.2014, 21:33) *
Попросту,может получится выкинуть это звено(ActorEditor)...

А конфиг костей/анимаций дин. моделей где будешь настраивать? biggrin.gif

Сообщение отредактировал Shadows - 18.07.2014, 22:21


--------------------
Перейти в начало страницы
 
Modera
сообщение 18.07.2014, 22:23
Сообщение #1601


.
**********************

Репутация:   750  
Группа: Участник
Сообщений: 7072
Награды: 4
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


А в ЗП сдк там ещё можно физику проверять...
Перейти в начало страницы
 

191 страниц V  « < 78 79 80 81 82 > » 
Тема закрытаНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 06.05.2024, 05:32