Закрома Родины |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Закрома Родины |
17.09.2014, 16:27
Сообщение
#1181
|
|
И никаких няш-мяш! Репутация: 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 |
 
|
|
|
|
10.06.2014, 19:18
Сообщение
#1182
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
в oal-soft есть креативовский ревербератор взятый из последних доступных исходников. так как он слишком могуч для проца, то сделали его облегченный вариант.
на все вопросы о поддержке иных фич oal-soft отвечает загадочно молчит. но для "эха" вполне хватит. |
 
|
|
10.06.2014, 23:54
Сообщение
#1183
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Кстати,про /MT.
Даже у TBB есть возможность сборки dll,с /MT....А это господа-Intel |
 
|
|
11.06.2014, 02:39
Сообщение
#1184
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
|
 
|
|
11.06.2014, 03:08
Сообщение
#1185
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
|
 
|
|
11.06.2014, 03:19
Сообщение
#1186
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
про какое именно?
|
 
|
|
11.06.2014, 21:11
Сообщение
#1187
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Смотри раньше,у меня нет времени отписывать(сессия,извиняй)
Сообщение отредактировал Tron - 11.06.2014, 21:24 |
 
|
|
12.06.2014, 03:51
Сообщение
#1188
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
высказана претензия, а по поводу чего — ищи сам? интересный подход.
|
 
|
|
12.06.2014, 14:46
Сообщение
#1189
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Не помнить свои посты-вот это интересный подход
Цитата можно начать с того, что уже в xrDXT линкуется статическая либа от nvdia, которая по-любому затребует msvcrXXX из пакетов. потом, когда CRT линкуется статически к десятку динамических либ в одном проекте — это уже не проблема, это даже хуже индусов. "правильные" варианты: * выкидывать CRT нафиг и переписывать все (и везде) на чистом winapi (начиная с банального argc/argv –> CommandLineToArgvW/GetCommandLineW) * извращение с подсовыванием чужих CRT (от WDK или старых студий) * собрать здоровый монолитный компилятор без всяких dll-ок, тогда /MT еще имеет хоть какой-то смысл (а если очень дофига памяти, то можно сделать один инклюд на все файлы, скормить его компилятору и пойти погулять). при этом как минимум придется-таки (выкинуть xrDXT | переделать его на nvtt | заменить на запись в файл без сжатия) наверное, есть и другие способы, не менее трудоемкие и не более полезные. p.s. кстати, про злосчастную nvDXTlibMTDLL.lib. случайно нарыл "оригинальный" пакет NVIDIA DDS Utilities 7.33, совпадение с используемым в xrDXT полное кроме одной странной правки: Код nvdxt_options.h @391,391 - BinaryAlphaThreshold = 128; // When Binary Alpha is selected, below this value, alpha is zero + BinaryAlphaThreshold = 0; //. 128 When Binary Alpha is selected, below this value, alpha is zero не отсюда растут ноги у глюков с прозрачными партиклами из соседнего топике? |
 
|
|
12.06.2014, 15:21
Сообщение
#1190
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
не в кассу.
Intel Threading Building Blocks, НЕ состоит "из десятка динамических либ", а из двух несвязанных друг с другом. бинарный дистрибутив содержит dll-ки собранные под самыми разнообразными студиями и никогда в нем не было статически собранных dll-ок. другие "доказательства" будут? что вот, мол, хорошо и правильно внедрять одинаковый объектный код во все имеющиеся экзешники и библиотеки в проекте. |
 
|
|
12.06.2014, 15:57
Сообщение
#1191
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Цитата и никогда в нем не было статически собранных dll-ок. А конфигурации решения,в сорцах посмотреть,нет желания?Цитата другие "доказательства" будут? что вот, мол, хорошо и правильно внедрять одинаковый объектный код во все имеющиеся экзешники и библиотеки в проекте. Речь сейчас идет о вообще использовании /MT с динамическими библиотекамиТы утверждаешь,что это все плохо и вообще не применимо,я тебе повторяю-вещь спорная. TBB дан был,в пример,так как они подразумевают,что использование /MT с динамическими библиотеками возможно.Притом ты должен понимать,что выбор одного рантайма тянет за собой его же выбор в других библиотеках.В документации у них не написано,что данная конфигурация,должна линковаться только к проектам использующими статическую линковку Upd: Есть вот такая статья,где все говорится,что там все будет плохо Но я точно помню,что я с /MT линковался и проблем не имел ИМХО Сообщение отредактировал Tron - 12.06.2014, 15:54 |
 
|
|
12.06.2014, 16:11
Сообщение
#1192
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
нет желания? если я говорю про дистрибутив, то при чем тут конфигурация? если бы разработчик решил, что народу нужны статические либы, то он положил бы их в дистрибуив, а их там нет. в Makefile-ах для остальных платформ нет целей для статической сборки, кроме тех несчастных, которые ее не поддерживают. более того, в документации четко сказано, что static build вполне возможен, однако делать это можно только в самом крайнем случае. но вы же увидели ключ /MT и одного этого достаточно. Речь сейчас идет о вообще использовании /MT с динамическими библиотеками я не знаю куда вас сейчас унесло, а изначально речь шла про три десятка игровых dll-ок и о том, как избавится от зависимости от msvc(r|p)NN. ключ /MT не избавляет от этой зависимости, он эту зависимость прививает внутрь и намертво. использование /MT с динамическими библиотеками возможно. да ладно. из любого кода любым компилятором можно получить как статически... так делать нельзя-это всего лишь рекомендация переходить улицу на красный свет — это нарушение запрета или рекомендации? |
 
|
|
12.06.2014, 16:30
Сообщение
#1193
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Цитата если я говорю про дистрибутив, то при чем тут конфигурация? вот здесь я не знаю,ибо технологически там проблем нет(сам связывал TBB статически) Цитата ключ /MT не избавляет от этой зависимости, он эту зависимость прививает внутрь и намертво. Я это знаю,но тем не менее от зависимости наличия определенной версиии msvc(r|p)NN это избавит.Только для 13 студии,я знаю,2 или 4 версии рантайма Цитата переходить улицу на красный свет — это нарушение запрета или рекомендации? Рекомендация,необходимо рассматривать случай в частности(есть ли движение на дороге,исправен ли светофор) Цитата я не знаю куда вас сейчас унесло, а изначально речь шла про три десятка игровых dll-ок и о том, как избавится от зависимости от msvc(r|p)NN. Да,только она уже влечет за собой:Цитата Речь сейчас идет о вообще использовании /MT с динамическими библиотеками Цитата из любого кода любым компилятором можно получить как статически... Не понял предложения |
 
|
|
12.06.2014, 16:38
Сообщение
#1194
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
|
 
|
|
12.06.2014, 16:52
Сообщение
#1195
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Цитата первый вопрос: зачем? линковка под андройдЦитата второй вопрос: зачем? Открою маленькую "тайну":Рантаймы разных версий студий не совместимы между собой. у меня на одном буке-версия стоит из msdn-там рантайм один На больших компах у меня стоит версия VL. Обновы стоят все,на всех компах....но на выходе один и тот же код,зависит от разных рантаймов(в зависимости от типа машины,на котором производилась сборка) |
 
|
|
12.06.2014, 17:04
Сообщение
#1196
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
линковка под андройд андроИд умеет shared libraries. смотрим в android.gcc.inc — и там DYLIB_KEY = -shared. нет никакой нужды делать статическую сборку. Рантаймы разных версий студий не совместимы между собой. вы не умеете класть в дистрибутив vcredist.exe или не можете подключить к любой студии любую версию SDK? |
 
|
|
12.06.2014, 17:11
Сообщение
#1197
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Вот пример,с /MT где все работает
2 либы,один экзешник конфигурация Release |
 
|
|
12.06.2014, 17:20
Сообщение
#1198
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
мне нужно скачать непонятно что, чтобы убедиться непонятно в чем. андроида у меня нет, а то что /MT работает я и так знаю.
или этот пример не работает с /MD? |
 
|
|
12.06.2014, 17:27
Сообщение
#1199
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
линковка под андройд андроИд умеет shared libraries. смотрим в android.gcc.inc — и там DYLIB_KEY = -shared. нет никакой нужды делать статическую сборку. Рантаймы разных версий студий не совместимы между собой. вы не умеете класть в дистрибутив vcredist.exe или не можете подключить к любой студии любую версию SDK? Господин,вы теоретик? вообще-то андройд это не умеет это. Ключ есть,но lib файл ты не получишь. Ок..положим vcredist-НО: Для кого я написал,что редист будет разный?! мне нужно скачать непонятно что, чтобы убедиться непонятно в чем. андроида у меня нет, а то что /MT работает я и так знаю. или этот пример не работает с /MD? Этот пример работает и с /MD и с /MT Вы мне выше,утверждали,что /MT связывать с динамическими библиотеками-это индусский код,что так делать нельзя и это в принципе неправильно Added: Я лично,портировал свой движок на андройд,в результате мне пришлось делать по аналогии с unity build |
 
|
|
12.06.2014, 17:48
Сообщение
#1200
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
вообще-то андройд это не умеет это. андроИд не умеет динамически загружать .so либы? и давно?? Ключ есть,но lib файл ты не получишь. gcc разучился выдергивать импорт из .so или .def файлы на андроИде тоже не работают? /MT связывать с динамическими библиотеками-это индусский код,что так делать нельзя и это в принципе неправильно вы упорно долбитесь в стену. чем больше dll-ок в проекте, тем индусснее будет использовать /MT и засовывать рантайм в каждую из этих dll-ок. а если dll-ки используют друг друга, то еще индусятнее будет прописывать /NODEFAULTLIB:(список_пересекающихся_crt_либ) в каждую из таких dll-ок. Для кого я написал,что редист будет разный?! да посрать что он разный. программе требуется только один, который вы и кладете в проект в виде веб-инсталятора, либо в виде пары vcr dll-ок. в результате программа запустится где угодно, либо после закачки и установки рантайма, либо сразу. короче, RTFM. |
 
|
|
12.06.2014, 21:23
Сообщение
#1201
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Вот как раз вам,я и бы и советовал RTFM
Цитата андроИд не умеет динамически загружать .so либы? и давно?? Открывайте документацию и читайте,что в новых версиях(кажется с 14) поддержка динамической загрузки была удалена.Я смотрел её, на период сентября 2013 года Цитата gcc разучился выдергивать импорт из .so или .def файлы на андроИде тоже не работают? берем vs-android,последний cдк и собираем. Увижу рабочий семпл-поверю,до этого момента вы-пустозвон. Я вам говорю,по факту.На gcc,есть ключевое слово export,которое укажет,какой символ экспортировать,но фактической надобности в этом нет,ибо на gcc,все символы экспортируются по умолчанию...... Но не на андройде.Оно просто там не работает.Трюк с .def файлами был опробован,но так же,успеха не принес. Цитата а если dll-ки используют друг друга, то еще индусятнее будет прописывать /NODEFAULTLIB:(список_пересекающихся_crt_либ) в каждую из таких dll-ок. Я для кого семпл предоставил?И с каких пор у нас экспортируются символы CRT?! Цитата да посрать что он разный. программе требуется только один, который вы и кладете в проект в виде веб-инсталятора, либо в виде пары vcr dll-ок. в результате программа запустится где угодно, либо после закачки и установки рантайма, либо сразу. А посмотреть журнал ошибок,не?! Может мне напомнить,момент слива билда лост альфы,который собирался в 2005 студии,и люди попросту не могли её запустить,из-за экзотической версии рантайма?-установочника которого нигде не было,притом гуглилась именно требуемая версия,и люди выкачивали,с торрентов всякую кучу рантаймов? Цитата андроИд Нечего сказать,дое№ись до орфографии? Мне так удобнее,и я так буду называть Сообщение отредактировал Tron - 12.06.2014, 21:21 |
 
|
|
Текстовая версия | Сейчас: 06.05.2024, 00:51 |