Закрома Родины |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Закрома Родины |
17.09.2014, 16:27
Сообщение
#3481
|
|
И никаких няш-мяш! Репутация: 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 |
 
|
|
|
|
01.08.2015, 23:29
Сообщение
#3482
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Правда ТЧ не собирал, может он медленнее. ТЧ полное перестроение xrGame (а с ним почти все остальное) 11-12 минут, i5-3570. З.Ы. с выключенной оптимизацией, а с ней 20-25 мин. macron, даешь бенчмарки компиляции сырцов на разных процах Сообщение отредактировал Shadows - 01.08.2015, 23:33 -------------------- |
 
|
|
01.08.2015, 23:32
Сообщение
#3483
|
|
Продвинутый геймер Репутация: 22 Группа: Участник Сообщений: 234 Награды: 3 Регистрация: 27.10.2010 |
|
 
|
|
01.08.2015, 23:59
Сообщение
#3484
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
не мешают Я про то, что оптимизация пострадает и чтоб оставить тот же уровень придётся потратить немало усилий. Вон Арма - всё что можно засунули в один бинарник... Мне кажется,что там попросту необходимость была это сделать... у них часть зависмостей(пропоритарных) скомпилировано с /MT. Вообще аллокаторы у них можно подгружать динамически полное перестроение xrGame (а с ним почти все остальное) 11-12 минут, i5-3570. Аналогично, чуть меньше/больше 10минут, в релизе, со всеми оптимизациями. 4790K |
 
|
|
02.08.2015, 00:09
Сообщение
#3485
|
|
Опытный Геймер Репутация: 17 Группа: Участник Сообщений: 161 Награды: 3 Регистрация: 08.03.2015 |
Да, кстати помнится мне проeкт 4-тый рендер для чн что с ним? А что за проект с 4-тым рендеом на ЧН а то я не в курсе. -------------------- |
 
|
|
02.08.2015, 00:14
Сообщение
#3486
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Да, кстати помнится мне проeкт 4-тый рендер для чн что с ним? А что за проект с 4-тым рендеом на ЧН а то я не в курсе. Чисто ради эксперемента был рендер портирован. Даже правильнее сказать, ЧН было переведено на движок ЗП,за исключением Game кода |
 
|
|
02.08.2015, 00:44
Сообщение
#3487
|
|
Опытный Геймер Репутация: 17 Группа: Участник Сообщений: 161 Награды: 3 Регистрация: 08.03.2015 |
Да, кстати помнится мне проeкт 4-тый рендер для чн что с ним? А что за проект с 4-тым рендеом на ЧН а то я не в курсе. Чисто ради эксперемента был рендер портирован. Даже правильнее сказать, ЧН было переведено на движок ЗП,за исключением Game кода А я в попытках перенести двиг ЗП на платформу ЧН что бы там работал сюжет и все зп-шные примочки, + война группировок но увы пока у меня не получается это сделать, рабочие дни и личная жизнь пока и откладывается. Кстате про DVB. в каких величинах измеряется эти строки кб или мб int rsDVB_Size = 512+1024; int rsDIB_Size = 512; Сообщение отредактировал Stalker_Monolit - 02.08.2015, 00:45 -------------------- |
 
|
|
02.08.2015, 01:02
Сообщение
#3488
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
02.08.2015, 01:17
Сообщение
#3489
|
|
Геймер Репутация: 11 Группа: Участник Сообщений: 133 Награды: 2 Регистрация: 17.09.2014 |
Кстате про DVB. в каких величинах измеряется эти строки кб или мб int rsDVB_Size = 512+1024; int rsDIB_Size = 512; Можешь смело писать вместо int rsDVB_Size = 512+1024; int rsDVB_Size = 4096; А я в попытках перенести двиг ЗП на платформу ЧН что бы там работал сюжет и все зп-шные примочки, + война группировок но увы пока у меня не получается это сделать, рабочие дни и личная жизнь пока и откладывается. Кстате про DVB. в каких величинах измеряется эти строки кб или мб int rsDVB_Size = 512+1024; int rsDIB_Size = 512; Планы прямо скажем наполеоновские, не легче рендер портануть на двиг чн? |
 
|
|
02.08.2015, 01:42
Сообщение
#3490
|
|
Опытный Геймер Репутация: 17 Группа: Участник Сообщений: 161 Награды: 3 Регистрация: 08.03.2015 |
-------------------- |
 
|
|
02.08.2015, 01:43
Сообщение
#3491
|
|
Кандидат Игровых Наук Репутация: 2153 Группа: Участник Сообщений: 3488 Награды: 4 Регистрация: 27.07.2009 |
ТЧ полное перестроение xrGame (а с ним почти все остальное) 11-12 минут, i5-3570. Ну у меня м.б тоже. 30-40 минут это до включения \MP наверно было, я давно полный ребилд не делал. В любом случае 11-12 минут вполне терпимое значение. ------------------------------------------------------------------ Кстати, по поводу ограничения на размер динамических моделей в игре. (на примере ЗП) Возможно причина кроется в этом (если я всё правильно понял): Все динамические модели в игре (с привязкой) наследуются от типа CSkeletonX_ext (xrRender\FSkinned.cpp) Для хранения вертексных координат (или чего то в этом духе) и передачи их в шейдера движок использует тип s16 (16 байт) Соответственно они (координаты вертексов) ограничены диапазоном [-32768, 32767] - функция s16 q_P (float v) + это всё integer, который потом преобразуется в float. и в итоге значение получается на несколько целых меньше. (интересно на сколько?) UPD: Получается, судя по всему, всего 12 метров в любую из сторон. P,N,tc это то, что потом передаётся в .vs шейдеры. tc - текстурные координаты. P - позиция, N - нормаль. В шейдерах у них у всех тип float (32 байта), однако в движке они обрабатываются как short (16 байт) И + в этом же где то кроется причина, почему игра коцает слишком детализированные модели, даже с включённым флагом HQ Geometry. (см. dwDecl_01W и vertHW_1W - они используют FP16 (16-битный float) вместо FP32 -> низкая точность) Ну и собственно объясните пож-ста: Откуда в функции q_P() взялось число 12.f, а в q_tc() 16.f? UPD: Как я понял - это максимальное\минимальное значение float-а. То-есть координаты вертексов ограничены 12.f-ю метрами, а текстурные координаты 16.f-ю не-метрами. ---------------------------------------------- PS: Ксеноморфы из Dead Space добрались до зоны (пытался уменьшить диапазон для теста) PSS: А вообще начиная с каких размеров (в метрах) модель начинает "обрезаться" в игре? Сообщение отредактировал Shoкer - 02.08.2015, 02:25 -------------------- Мне просто нравятся синие буквы под сообщением.
|
 
|
|
02.08.2015, 01:59
Сообщение
#3492
|
|
Почти Игроман Репутация: 153 Группа: Участник Сообщений: 614 Награды: 4 Регистрация: 03.05.2012 |
Хотя почему деревья не переключаются на лоды (?) на определенном расстоянии - тоже вопрос. r__geometry_lod сколько метров стоит? насколько я помню, лоды в начале 2013 были поломаны при портировании рендера зп, и пришлось в сентябре делать заглушки в shaders.xr чтоли, что было потом.. не помню. Там вроде лоды на р1 только работают, а на динамике по своей схеме уменьшения полигонов рисуются. Заглушки давно убрали, сейчас глянул. Но то, что тормозит из-за кол-ва полигонов, однозначно. У меня на статике лагал кордон, который так и не оптимизировали. Вообще, ЗП у меня собирается раза в четыре быстрее ЛА. Видимо, что-то с проектом намутили. Сообщение отредактировал SkyLoader - 02.08.2015, 01:59 |
 
|
|
02.08.2015, 02:00
Сообщение
#3493
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
|
 
|
|
02.08.2015, 02:07
Сообщение
#3494
|
|
Опытный Геймер Репутация: 17 Группа: Участник Сообщений: 161 Награды: 3 Регистрация: 08.03.2015 |
Общие интерфейсы между ЗП и ЧН одинаковые. Местами конечно методы/объекты переименовали,но в целом код близок Это я заметил когда перебирал сорцы ЗП я вот подумал можно ли сделать так чтобы в оконном режиме можно перетягивать игру с одного угла в другой а то как приклеенный к левому верхнему углу. -------------------- |
 
|
|
02.08.2015, 02:23
Сообщение
#3495
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
|
 
|
|
02.08.2015, 02:34
Сообщение
#3496
|
|
Опытный Геймер Репутация: 17 Группа: Участник Сообщений: 161 Награды: 3 Регистрация: 08.03.2015 |
можно ли сделать так чтобы в оконном режиме можно перетягивать игру с одного угла в другой а то как приклеенный к левому верхнему углу. Если что, есть еще параметр -center_screen в батник для выравнивания окна по центру. Этот я применил но все же я не могу таскать окно по рабочему столу захват мыши работает. Если б можно было сделать так чтобы во время игры он бы захватывался а если выйти в меню то захват пропадал я думаю так будет удобнее, но что бы это работало только в оконном режиме а не в полноэкранном. Сообщение отредактировал Stalker_Monolit - 02.08.2015, 02:37 -------------------- |
 
|
|
02.08.2015, 02:47
Сообщение
#3497
|
|
Геймер Репутация: 11 Группа: Участник Сообщений: 133 Награды: 2 Регистрация: 17.09.2014 |
|
 
|
|
02.08.2015, 04:20
Сообщение
#3498
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Я не понял шутку юмора.
Есть код: CODE local sobj = alife():object(4294967295) if sobj then log1("sobj name: "..sobj:name()) else log1("sobj NOT FOUND") end На 1.0006 патче возвращает: sobj name: single_player а на 1.0007rc1: sobj NOT FOUND Это как понимать? Из-за этого, падает CRandomTask на load (task_manager.script). Это у меня у одного такое? Сообщение отредактировал Shadows - 02.08.2015, 04:46 -------------------- |
 
|
|
02.08.2015, 04:52
Сообщение
#3499
|
|
Кандидат Игровых Наук Репутация: 2153 Группа: Участник Сообщений: 3488 Награды: 4 Регистрация: 27.07.2009 |
А в чём шутка юмора вообще использовать 4294967295? Это должно быть эквивалентно 0 или ещё чему-то. Замени на
alife():object(0) или alife():object(1) и будет работать. (ID актёр по моему всегда 0) UPD: Если в 7-ом патче обновляли Lua, то наверно там увеличили верхний лимит числа. И теперь 4294967295 (лимит unsigned int32) не превращается в 0. Сообщение отредактировал Shoкer - 02.08.2015, 04:54 -------------------- Мне просто нравятся синие буквы под сообщением.
|
 
|
|
02.08.2015, 05:15
Сообщение
#3500
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Если в 7-ом патче обновляли Lua, то наверно там увеличили верхний лимит числа. И теперь 4294967295 (лимит unsigned int32) не превращается в 0. Если это так, то извините каким м*даком надо быть, чтобы писать скрипт исходя из того, что 4294967295 конвертится в 0 и в итоге всегда получается актор?.. Вот тут более подробно. Замени на alife():object(0) или alife():object(1) и будет работать. (ID актёр по моему всегда 0) Такая затычка конечно работает, но не исключено, что в игре еще остались места с такими чудесными "преобразованиями". Сообщение отредактировал Shadows - 02.08.2015, 05:20 -------------------- |
 
|
|
02.08.2015, 06:41
Сообщение
#3501
|
|
Продвинутый геймер Репутация: 15 Группа: Участник Сообщений: 322 Награды: 3 Регистрация: 01.05.2014 |
|
 
|
|
Текстовая версия | Сейчас: 08.05.2024, 08:43 |