Закрома Родины |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Закрома Родины |
17.09.2014, 16:27
Сообщение
#1521
|
|
И никаких няш-мяш! Репутация: 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 |
 
|
|
|
|
15.07.2014, 23:12
Сообщение
#1522
|
|
Геймер Репутация: 19 Группа: Участник Сообщений: 130 Награды: 2 Регистрация: 24.05.2008 |
Зачем надо было фиксить этот пулемет?-он же нигде не используется Из упрямства только. Слишком уж хитрый баг оказался, поначалу думалось все элементарно. Механизм работы движка с костями я раньше только в ассемблере наблюдал, а тут хоть удалось живой код поковырять. Между тем, в скриптах кажется ещё нет возможности задавать положения костей, а ведь это открывает доступ к скриптовой анимации чего-либо. |
 
|
|
15.07.2014, 23:13
Сообщение
#1523
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Ну хотя бы со звуком разобрались.
Например поменяли бы наконец на OpenAL Soft,да там надо выкинуть часть функционала,благо не все EFX перекрывает+отладить(у меня в свое время крашилось при переходе на другую локацию,но мне было лень дебажить). Или на Fmod-это вообще очень крутая штука,особенно Fmod Studio,там можно и эхо настраивать |
 
|
|
15.07.2014, 23:22
Сообщение
#1524
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Например поменяли бы наконец на OpenAL Soft Так почему бы тебе этим не заняться? -------------------- |
 
|
|
15.07.2014, 23:40
Сообщение
#1525
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
А я это сделал,в свое время,но недофиксил
|
 
|
|
16.07.2014, 00:16
Сообщение
#1526
|
|
Продвинутый геймер Репутация: 49 Группа: Забанен Сообщений: 209 Регистрация: 23.06.2012 |
Tron
В своё время я немецкий язык учил, но недоучил! -------------------- Самый умный чат-бот против БИЛДа |
 
|
|
16.07.2014, 01:19
Сообщение
#1527
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Суть в том,что тупо кидаем OpenAL Soft,собираем с ним,комментим части кода где юзается EAX,собираем...запускаем...видим сидора,все хорошо,переходим на свалку-вылет.
Содержание лога не помню. Грузим сейв-все работает.Переходим на другой уровень-снова вылет. =>Где то есть проверка,от результата которой зависит,будет ли вылет. |
 
|
|
16.07.2014, 01:28
Сообщение
#1528
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
Tron, snd_env-зоны работали?
З.Ы. без лога вылета вряд ли что-то придумаешь . -------------------- |
 
|
|
16.07.2014, 01:34
Сообщение
#1529
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Цитата З.Ы. без лога вылета вряд ли что-то придумаешь . Я не говорил,что без лога,я говорил,что не помню содержание лога Цитата snd_env так они же в вручную расставляются... Да и на кордоне их вроде нет |
 
|
|
16.07.2014, 01:38
Сообщение
#1530
|
|
Игровой Бог Репутация: 648 Группа: Участник Сообщений: 5354 Награды: 9 Регистрация: 24.09.2010 |
так они же в вручную расставляются... Да и на кордоне их вроде нет Сходи на Склады, там есть подвал в деревне, где расположена зона с эхом. Я не говорил,что без лога,я говорил,что не помню содержание лога Ну так в топике лога нет, я это имел ввиду. -------------------- |
 
|
|
16.07.2014, 01:48
Сообщение
#1531
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Вопрос не по теме текущего обсуждения:
Я видел в фичлисте OGSM поддержку двух новых типов АА:SMAA и FXAA. Как понимаю их реализация лежит на xp-dev?(ставить svn клиент и вытягивать все,что бы только посмотреть, не хочется) |
 
|
|
16.07.2014, 03:45
Сообщение
#1532
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
Ещё одну правку пулемета выложил. ракетной установкой от вертолета не собираетесь заняться? тоже для модов пригодится, фигня что тоже без анимации, без худа и даже без визуала. Слишком уж хитрый баг оказался вот как можно называть багом работающую реализацию AI-шного оружия, да еще и от транспорта? Сообщение отредактировал HikeR - 16.07.2014, 03:48 |
 
|
|
16.07.2014, 07:19
Сообщение
#1533
|
|
Почти Мастер Репутация: 311 Группа: Участник Сообщений: 1092 Награды: 5 Регистрация: 01.03.2011 |
|
 
|
|
16.07.2014, 07:30
Сообщение
#1534
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
|
 
|
|
16.07.2014, 08:11
Сообщение
#1535
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
|
 
|
|
16.07.2014, 09:00
Сообщение
#1536
|
|
Продвинутый геймер Репутация: 15 Группа: Участник Сообщений: 322 Награды: 3 Регистрация: 01.05.2014 |
Помогите, пожалуйста, из-за чего это может быть? Раньше xrSoundB собиралась нормально, а сейчас появляется этот еррор:
Код [Linker Error] Unresolved external 'Sysinit::VclInit(bool, bool, int, bool)' referenced from K:\XRAY\3RD_TOOLS\CBUILDER6\LIB\RELEASE\VCLE.LIB|vclinit [Linker Error] Unresolved external 'Sysinit::VclExit()' referenced from K:\XRAY\3RD_TOOLS\CBUILDER6\LIB\RELEASE\VCLE.LIB|vclinit В проект никаких изменений не вносилось. Поиск в интернете результатов не дал, пробывал очищать intermediate директорию и пересобирать, выпиливать из проекта sysinit.obj, в ALLLIB проекта присутствует cp32mti.lib, пихал в препроцессор _NO_VCL (хотя это уже из разряда бреда), ничего не помогает. Уже отчаялся в какой-то степени, не знаю чем это вызвано и как это побороть. Если эта тема где-то здесь ранее обсуждалась, прошу меня направить на путь истинный.. |
 
|
|
16.07.2014, 09:06
Сообщение
#1537
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
а выше строки "[C++] Including vcl2.h instead of vcl.h due to -Hr switch" не наблюдается?
|
 
|
|
16.07.2014, 09:24
Сообщение
#1538
|
|
Продвинутый геймер Репутация: 33 Группа: Участник Сообщений: 251 Награды: 2 Регистрация: 03.04.2014 |
В случае пулемета эти колбеки тянутся к шеллу (CPhysicsShell), обработчик которого применяет инвертированную матрицу вот это к инвертированию относится? (следите за руками сталкера) То есть инвертирование координат было необходимо для НПС, управляющих пулеметом? |
 
|
|
16.07.2014, 10:00
Сообщение
#1539
|
|
Геймер Репутация: 19 Группа: Участник Сообщений: 130 Награды: 2 Регистрация: 24.05.2008 |
вот это к инвертированию относится? (следите за руками сталкера) Полагаю, что нет. Когда у стационарного оружия объявляется контроллер (гг или сталкер), то колбеки шелла просто отключаются и подключаются колбеки из класса CWeaponMounted. Возможно есть косяк в колбеке по одной оси или в CWeaponMounted::cam_Update. Код m_pPhysicsShell->EnabledCallbacks(FALSE); // enable actor rotate callback CBoneInstance& biX = smart_cast<CKinematics*>(Visual())->LL_GetBoneInstance(rotate_x_bone); biX.set_callback (bctCustom,BoneCallbackX,this); CBoneInstance& biY = smart_cast<CKinematics*>(Visual())->LL_GetBoneInstance(rotate_y_bone); biY.set_callback (bctCustom,BoneCallbackY,this); Инверсия полной матрицы, означает что и поворот, и координаты позиции становятся отрицательными (PHElement.cpp): Код parent.invert (m_shell->mXFORM); B->mTransform.mul_43(parent,mXFORM); В других объектах с этим все нормально, не смотря на инверсию. У меня тем не менее нет догадок, зачем она нужна. Кстати из недоработок стационарного оружия ещё остается фиксация света фонаря гг, что ночью скажем не естественно. Сообщение отредактировал alpet - 16.07.2014, 10:08 |
 
|
|
16.07.2014, 10:18
Сообщение
#1540
|
|
Геймер Репутация: 86 Группа: Участник Сообщений: 128 Награды: 4 Регистрация: 05.05.2012 |
если mXFORM - матрица трансформации, то для инвертирования по какой-либо оси нужно умножить один из столбцов или строк (зависит от расположения элементов матрицы в памяти: row-major или column-major) на -1
ваш к.о. з.ы. для col-major матрицы: |xx |yx|zx|0| |xy |yy|zy|0| |xz |yz |zz|0| |xw|yw|zw|1| -------------------- nop
|
 
|
|
16.07.2014, 10:21
Сообщение
#1541
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
Инверсия полной матрицы, означает... ... еще и переход от мировых к модельным координатам, например. ф-ия invert делает не полное инвертирование, а только 3x3, то есть координаты (и отсутствующий масштаб) не затрагиваются совсем, ибо Цитата DirectX-compliant, ie row-column order, ie m[Row][Col]. ... Translation is (m41, m42, m43), (m14, m24, m34, m44) = (0, 0, 0, 1). не в ту сторону копаете, да и сами обнаружили, что "В других объектах с этим все нормально, не смотря на инверсию" ;) |
 
|
|
Текстовая версия | Сейчас: 16.05.2024, 20:16 |