Закрома Родины |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Закрома Родины |
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 |
 
|
|
|
|
18.07.2014, 13:14
Сообщение
#1582
|
|
Кандидат Игровых Наук Репутация: 2153 Группа: Участник Сообщений: 3488 Награды: 4 Регистрация: 27.07.2009 |
[*]оптимизация перехода объектов в онлайн, из-за которой порой жесткие лаги даже на ультрасовременных ПК. В NLC6 это решилось впрочем уже, через перевод в онлайн всей локации. Папка config\prefetch? Игра грузит не прописанные там модели на ходу (а точнее по требованию их игрой), поэтому появляются фризы при первой загрузке модели во время перехода объекта в онлайн. Если модель\объект прописан в prefetch, то он грузится в ОЗУ на стадии загрузки уровня -> дольше время загрузки, больше жрёт ОЗУ но нет лагов при переходе в онлайн объекта. Сообщение отредактировал Shoкer - 18.07.2014, 13:19 -------------------- Мне просто нравятся синие буквы под сообщением.
|
 
|
|
18.07.2014, 13:19
Сообщение
#1583
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
|
 
|
|
18.07.2014, 14:45
Сообщение
#1584
|
|
Геймер Репутация: 19 Группа: Участник Сообщений: 130 Награды: 2 Регистрация: 24.05.2008 |
Папка config\prefetch? Игра грузит не прописанные там модели на ходу (а точнее по требованию их игрой), поэтому появляются фризы при первой загрузке модели во время перехода объекта в онлайн. Если модель\объект прописан в prefetch, то он грузится в ОЗУ на стадии загрузки уровня -> дольше время загрузки, больше жрёт ОЗУ но нет лагов при переходе в онлайн объекта. Думаю это никак не связано с чтением с диска и загрузкой модели. У меня слишком жесткие фризы, несмотря на использование высокоскоростного SSD и 32Гб памяти (подразумевается что многие файлы должны успеть закэшироваться). Подозреваю что более всего уходят затраты на процессор, во время этапа "Синхронизации" - т.е. отработки скриптов по отношению к логике неписей. Косвенным доказательством этого служит такой эксперимент: если я спавню скриптом 5-10 одинаковых неписей лаг получается ничтожный, а когда 15-30 уже очень заметный. Тоже самое обнаруживается и в зависимости от заселенности локаций: очень заметный лаг при подходе к "Бару" наблюдается. Опять-же в моем случае указание в командной строке -noprefetch никак не влияет на этот фриз. В текущих версиях NLC6 такие фризы отсутствуют вообще, но этап синхронизации при загрузке иных сейвов очень затягивается: по выводу из скриптов выяснил, что идет настройка игровой логики для множества объектов, прописывания всяких там рестрикторов и т.п. это похоже на "а давайте отключим LOD-ы и MIP-уровни, чего зря память тратить на их хранение". В случае NLC6 требования к памяти и так весьма высоки. Обычно используется 2.2-2.4Гб из доступных движку ~3.7Гб. Запуск в 32-битных системах или уже невозможен, или требует отключения качественной графики - даже не пробовал. Сообщение отредактировал alpet - 18.07.2014, 14:51 |
 
|
|
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 нехотет компилять такую хитрую конструкцию нашел в исходниках luabind последней версии Сообщение отредактировал refuse - 18.07.2014, 16:35 -------------------- nop
|
 
|
|
18.07.2014, 16:59
Сообщение
#1586
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
refuse,а попробуй с вот этим
|
 
|
|
18.07.2014, 17:06
Сообщение
#1587
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
|
 
|
|
18.07.2014, 17:45
Сообщение
#1588
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Награды: 4 Регистрация: 05.05.2012 |
HikeR, instance_holder.hpp luabind 0.9.1
-------------------- nop
|
 
|
|
18.07.2014, 17:58
Сообщение
#1589
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
какой-то неправильный буст. полистайте топик, советовали юзать не выше 1.30. я с
|
 
|
|
18.07.2014, 18:20
Сообщение
#1590
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
|
 
|
|
18.07.2014, 18:30
Сообщение
#1591
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Награды: 4 Регистрация: 05.05.2012 |
HikeR, c luabind этой версии требуется boost 1.34 использовать
а попробуй с вот этим luabind чуть попозжа, когда закончу этот ад разгребать, можно будет, но что-то мне подскаывает, что там буст велосипедми заменили просто, а хрен редьки не слаще там таких приколов с false нет это не в бусте (хотя мб в бусте тоже такое водится) -------------------- nop
|
 
|
|
18.07.2014, 18:42
Сообщение
#1592
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
HikeR, c luabind этой версии требуется boost 1.34 использовать эээ... вы же сказали "0.9.1". или уже все поменялось? ;) это не в бусте блин, вижу 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 |
 
|
|
18.07.2014, 18:52
Сообщение
#1593
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Награды: 4 Регистрация: 05.05.2012 |
кто знающий, обясните этот финт: я так думаю это сделано для приведения к общему типу, т.к. существует две перегрузки check_const_pointer(), вот только vs2013 этого прикола не оценила по задумке оно как-то так должно было быть: Сообщение отредактировал refuse - 18.07.2014, 19:41 -------------------- nop
|
 
|
|
18.07.2014, 20:08
Сообщение
#1594
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
@#$%&@ шаблоны, все у них не по-человечески...
|
 
|
|
18.07.2014, 20:18
Сообщение
#1595
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Кстати,расскажите мне пожалуйста про пайплайн в иксрее(я созданием локаций и моделей не занимался никогда-не по моей части)
Как я понимаю экспортер экспортирует в некий промежуточный формат,который уже потом принимается в actorEditor и он уже выдает OGF? С локациями понятно-они хранятся в собственном бинарном формате |
 
|
|
18.07.2014, 20:25
Сообщение
#1596
|
|
Почти Игроман Репутация: 127 Группа: Участник Сообщений: 643 Награды: 3 Регистрация: 29.09.2012 |
|
 
|
|
18.07.2014, 20:33
Сообщение
#1597
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Как я понимаю экспортер экспортирует в некий промежуточный формат,который уже потом принимается в actorEditor и он уже выдает OGF? Экспортер экспортирует в .object, потом в АЕ можно экспортнуть в ОГФ. Сразу оговорюсь,я пока это не прорабатывал Понятно,как я и думал. А там в ActorEdtor,как я понимаю можно настраивать любые параметры?(я просто с СДК не работал) Попросту,может получится выкинуть это звено(ActorEditor)... |
 
|
|
18.07.2014, 20:43
Сообщение
#1598
|
|
Почти Игроман Репутация: 127 Группа: Участник Сообщений: 643 Награды: 3 Регистрация: 29.09.2012 |
|
 
|
|
18.07.2014, 21:18
Сообщение
#1599
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Награды: 4 Регистрация: 05.05.2012 |
@#$%&@ шаблоны, все у них не по-человечески... оказалось все работает, просто туда указатель на ф-ию передавался, а его не так просто привести к обычному указателю. указатель передается в файле 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
|
 
|
|
18.07.2014, 22:20
Сообщение
#1600
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Попросту,может получится выкинуть это звено(ActorEditor)... А конфиг костей/анимаций дин. моделей где будешь настраивать? Сообщение отредактировал Shadows - 18.07.2014, 22:21 -------------------- |
 
|
|
18.07.2014, 22:23
Сообщение
#1601
|
|
. Репутация: 750 Группа: Участник Сообщений: 7072 Награды: 4 Регистрация: 30.07.2010 |
А в ЗП сдк там ещё можно физику проверять...
|
 
|
|
Текстовая версия | Сейчас: 06.05.2024, 05:32 |