Закрома Родины |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Закрома Родины |
17.09.2014, 16:27
Сообщение
#2821
|
|
И никаких няш-мяш! Репутация: 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 |
 
|
|
|
|
26.10.2014, 14:50
Сообщение
#2822
|
|
Высший Игровой Бог Репутация: 1747 Группа: Супермодератор Сообщений: 12594 Награды: 15 Регистрация: 05.11.2009 |
... Спасибо. Можете подсказать еще кое что? Начал собирать "Чистое Небо" и столкнулся с проблемой при компиляции luabind.beta7-devel.rc4, компилятор ругается на D:\clear sky\SDK for patch 1.5.06\include\luabind/luabind_auto_ptr.h(11) : error C2144: syntax error : 'void' should be preceded by ')' 1>D:\clear sky\SDK for patch 1.5.06\include\luabind/luabind_auto_ptr.h(11) : error C2059: syntax error : ')' 1>D:\clear sky\SDK for patch 1.5.06\include\luabind/luabind_auto_ptr.h(12) : fatal error C1903: unable to recover from previous error(s); stopping compilation Видит синтаксическую ошибку в 11 строке, как её можно исправить? Где-то в том месте отсутствует (или присутствует лишний) символ ")" или "(", или отсутствует ";" или ещё какая-то мелкая синтаксическая ошибка. Так что ищите внимательней. Ну или сюда скиньте код, под спойлер, может кто-то найдет. -------------------- |
 
|
|
26.10.2014, 15:46
Сообщение
#2823
|
|
Мастер Игры Репутация: 232 Группа: Друзья GM Сообщений: 1299 Награды: 4 Регистрация: 05.03.2012 |
Интересно, а можно убрать ограничение в 65535 игровых объектов? Для некоторых глобальных модификаций вполне актуально.
-------------------- |
 
|
|
26.10.2014, 16:12
Сообщение
#2824
|
|
Игровой Бог Репутация: 1690 Группа: Участник Сообщений: 7021 Награды: 11 Регистрация: 22.02.2006 |
А возможно ли под обработку спавнящейся ogf-физики, в движке (ТЧ) выделить/добавить отдельные CPU-потоки? Ибо, когда её наспавнено много, фпс прилично отъедается.
Сообщение отредактировал macron - 26.10.2014, 16:13 |
 
|
|
26.10.2014, 16:35
Сообщение
#2825
|
|
Высший Игровой Бог Репутация: 1747 Группа: Супермодератор Сообщений: 12594 Награды: 15 Регистрация: 05.11.2009 |
Интересно, а можно убрать ограничение в 65535 игровых объектов? Для некоторых глобальных модификаций вполне актуально. Судя по числу это unsigned short int. Если заменить его на, например, unsigned int, то тогда уже лимит должен быть в 4 294 967 295 объектов. Хотя скорее всего не все так просто, надо в код движка смотреть и разбираться как там оно сделано и почему. А возможно ли под обработку спавнящейся ogf-физики, в движке (ТЧ) выделить/добавить отдельные CPU-потоки? Ибо, когда её наспавнено много, фпс прилично отъедается. При желании можно сделать все что угодно, это только вопрос времени и ресурсов -------------------- |
 
|
|
26.10.2014, 17:23
Сообщение
#2826
|
|
Игрок Репутация: 2 Группа: Участник Сообщений: 41 Награды: 2 Регистрация: 11.03.2009 |
Пожалуйста помогите разобраться. Компилятор говорит что ошибка в 11 строке.
Код // luabind::auto_ptr implementation is copied from the stlport std::auto_ptr (v5.1) */#ifndef LUABIND_AUTO_PTR_H_INCLUDED #define LUABIND_AUTO_PTR_H_INCLUDED namespace luabind { class __ptr_base { public: void* _M_p; void __set(const void* p) { _M_p = __CONST_CAST(void*,p); } //Вот эта void __set(void* p) { _M_p = p; } }; // class __ptr_base template <class _Tp> class auto_ptr_ref { public: __ptr_base& _M_r; _Tp* const _M_p; auto_ptr_ref(__ptr_base& __r, _Tp* __p) : _M_r(__r), _M_p(__p) { } _Tp* release() const { _M_r.__set((void*)0); return _M_p; } private: //explicitely defined as private to avoid warnings: typedef auto_ptr_ref<_Tp> _Self; _Self& operator = (_Self const&); }; // class auto_ptr_ref template<class _Tp> class auto_ptr : public __ptr_base { public: typedef _Tp element_type; typedef auto_ptr<_Tp> _Self; public: _Tp* release () { _Tp* __px = this->get(); this->_M_p = 0; return __px; } void reset (_Tp* __px = 0) { _Tp* __pt = this->get(); if (__px != __pt) luabind_delete (__pt); this->__set (__px); } _Tp* get () const { return reinterpret_cast<_Tp*>(const_cast<void*>(_M_p)); } _Tp* operator-> () const { VERIFY2 (get(), "auto_ptr is null"); return get(); } _Tp& operator* () const { VERIFY2 (get(), "auto_ptr is null"); return *get(); } explicit auto_ptr(_Tp* __px = 0) { this->__set (__px); } template<class _Tp1> auto_ptr(auto_ptr<_Tp1>& __r) { _Tp* __conversionCheck = __r.release(); this->__set (__conversionCheck); } template<class _Tp1> auto_ptr<_Tp>& operator=(auto_ptr<_Tp1>& __r) { _Tp* __conversionCheck = __r.release(); reset (__conversionCheck); return *this; } auto_ptr (_Self& __r) { this->__set (__r.release()); } _Self& operator=(_Self& __r) { reset (__r.release()); return (*this); } ~auto_ptr () { _Tp* __pt = this->get(); luabind_delete (__pt); } auto_ptr (auto_ptr_ref<_Tp> __r) { this->__set(__r.release()); } _Self& operator=(auto_ptr_ref<_Tp> __r) { reset (__r.release()); return *this; } template<class _Tp1> operator auto_ptr_ref<_Tp1>() { return auto_ptr_ref<_Tp1>(*this, this->get()); } template<class _Tp1> operator auto_ptr<_Tp1>() { return (auto_ptr<_Tp1>(release())); } }; // class auto_ptr } // namespace luabind #endif // #ifndef LUABIND_AUTO_PTR_H_INCLUDED 1>D:\TORRENTS\include\luabind/luabind_auto_ptr.h(11) : error C2144: syntax error : 'void' should be preceded by ')' 1>D:\TORRENTS\include\luabind/luabind_auto_ptr.h(11) : error C2059: syntax error : ')' 1>D:\TORRENTS\include\luabind/luabind_auto_ptr.h(12) : fatal error C1903: unable to recover from previous error(s); stopping compilation Сообщение отредактировал STALKER2011x - 26.10.2014, 17:28
Причина редактирования: Спрятал код под кат. STALKER2011x
|
 
|
|
26.10.2014, 17:28
Сообщение
#2827
|
|
. Репутация: 750 Группа: Участник Сообщений: 7072 Награды: 4 Регистрация: 30.07.2010 |
lex99913, stlport точно правильно поключил поверх всего?
|
 
|
|
26.10.2014, 17:47
Сообщение
#2828
|
|
Высший Игровой Бог Репутация: 1747 Группа: Супермодератор Сообщений: 12594 Награды: 15 Регистрация: 05.11.2009 |
lex99913, начну по порядку:
В начале коде немного удивляет вот это: Цитата */ #ifndef LUABIND_AUTO_PTR_H_INCLUDED #define LUABIND_AUTO_PTR_H_INCLUDED Похоже на закрывающий тег многострочного комментария ( /*многострочний комментарий*/ ). Может просто код так скопировался, в любом случае советую это проверить, и если нету открывающего тега - удалить */ Теперь перейдем к проблемному месту: Цитата void __set(const void* p) { _M_p = __CONST_CAST(void*, p); } //Вот эта Синтаксических ошибок я не вижу, но есть предположение что в __CONST_CAST надо передавать один параметр void* p. Но я не уверен, тут надо смотреть какие параметры принимает __CONST_CAST. PS: Возможно я в чем-то и не прав, я на c++ давно программировал, сейчас использую в основном только c#. -------------------- |
 
|
|
26.10.2014, 18:34
Сообщение
#2829
|
|
Игрок Репутация: 2 Группа: Участник Сообщений: 41 Награды: 2 Регистрация: 11.03.2009 |
lex99913, начну по порядку: В начале коде немного удивляет вот это: Цитата */ #ifndef LUABIND_AUTO_PTR_H_INCLUDED #define LUABIND_AUTO_PTR_H_INCLUDED Похоже на закрывающий тег многострочного комментария ( /*многострочний комментарий*/ ). Может просто код так скопировался, в любом случае советую это проверить, и если нету открывающего тега - удалить */ Теперь перейдем к проблемному месту: Цитата void __set(const void* p) { _M_p = __CONST_CAST(void*, p); } //Вот эта Синтаксических ошибок я не вижу, но есть предположение что в __CONST_CAST надо передавать один параметр void* p. Но я не уверен, тут надо смотреть какие параметры принимает __CONST_CAST. PS: Возможно я в чем-то и не прав, я на c++ давно программировал, сейчас использую в основном только c#. Спасибо. |
 
|
|
26.10.2014, 22:19
Сообщение
#2830
|
|
Продвинутый геймер Репутация: 15 Группа: Участник Сообщений: 322 Награды: 3 Регистрация: 01.05.2014 |
|
 
|
|
27.10.2014, 08:07
Сообщение
#2831
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 112 Регистрация: 01.10.2014 |
ненавижу я этот lua
|
 
|
|
27.10.2014, 15:05
Сообщение
#2832
|
|
Игрок Репутация: 2 Группа: Участник Сообщений: 41 Награды: 2 Регистрация: 11.03.2009 |
При попытке компиляции вот такой лог:
1>------ Сборка начата: проект: xrEngine, Конфигурация: Release Win32 ------ 1> Создается библиотека ..\..\..\libraries\xrEngine.lib и объект ..\..\..\libraries\xrEngine.exp 1>stdafx.obj : error LNK2001: неразрешенный внешний символ ""__declspec(dllimport) char const * __cdecl std::_Winerror_map(int)" (__imp_?_Winerror_map@std@@YAPBDH@Z)" 1>stdafx.obj : error LNK2001: неразрешенный внешний символ ""__declspec(dllimport) char const * __cdecl std::_Syserror_map(int)" (__imp_?_Syserror_map@std@@YAPBDH@Z)" 1>stdafx.obj : error LNK2001: неразрешенный внешний символ ""__declspec(dllimport) void __cdecl std::_Xbad_alloc(void)" (__imp_?_Xbad_alloc@std@@YAXXZ)" 1>stdafx.obj : error LNK2001: неразрешенный внешний символ ""__declspec(dllimport) void __cdecl std::_Xout_of_range(char const *)" (__imp_?_Xout_of_range@std@@YAXPBD@Z)" 1>stdafx.obj : error LNK2001: неразрешенный внешний символ ""__declspec(dllimport) void __cdecl std::_Xlength_error(char const *)" (__imp_?_Xlength_error@std@@YAXPBD@Z)" 1>stdafx.obj : error LNK2001: неразрешенный внешний символ ""__declspec(dllimport) public: void __thiscall std::_Container_base0::_Orphan_all(void)" (__imp_?_Orphan_all@_Container_base0@std@@QAEXXZ)" 1>StatGraph.obj : error LNK2001: неразрешенный внешний символ ""__declspec(dllimport) public: void __thiscall std::_Container_base12::_Orphan_all(void)" (__imp_?_Orphan_all@_Container_base12@std@@QAEXXZ)" 1>StatGraph.obj : error LNK2001: неразрешенный внешний символ ""__declspec(dllimport) public: __thiscall std::_Container_base12::~_Container_base12(void)" (__imp_??1_Container_base12@std@@QAE@XZ)" 1>StatGraph.obj : error LNK2001: неразрешенный внешний символ ""__declspec(dllimport) public: __thiscall std::_Container_base12::_Container_base12(void)" (__imp_??0_Container_base12@std@@QAE@XZ)" 1>..\..\..\binaries\xrEngine.exe : fatal error LNK1120: неразрешенных внешних элементов: 9 ========== Сборка: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== Как с этим бороться? |
 
|
|
27.10.2014, 18:09
Сообщение
#2833
|
|
Опытный Геймер Репутация: 22 Группа: Участник Сообщений: 169 Награды: 2 Регистрация: 19.11.2010 |
Как с этим бороться? Традиционно: дописать линкеру недостающие библиотеки. Но учитывая, что вы пытаетесь собирать это все с stlport, могут быть разнообразные интересные нюансы -------------------- |
 
|
|
27.10.2014, 20:19
Сообщение
#2834
|
|
Геймер Репутация: 0 Группа: Участник Сообщений: 112 Регистрация: 01.10.2014 |
|
 
|
|
27.10.2014, 23:28
Сообщение
#2835
|
|
Опытный Геймер Репутация: 41 Группа: Участник Сообщений: 198 Награды: 2 Регистрация: 29.09.2010 |
Народ, блад-марки кто-нибудь пробовал прикручивать к ЗП? Поделитесь опытом.
|
 
|
|
28.10.2014, 07:45
Сообщение
#2836
|
|
Игрок Репутация: 2 Группа: Участник Сообщений: 41 Награды: 2 Регистрация: 11.03.2009 |
Привет всем. Столкнулся с такой вот ошибкой, как быть?
1>fatal error C1047: The object or library file '..\..\..\intermediate\release\xrengine\defines.obj' was created with an older compiler than other objects; rebuild old objects and libraries 1>LINK : fatal error LNK1257: code generation failed 1>Build log was saved at "file://d:\intermediate\Release\xrEngine\BuildLog.htm" 1>xrEngine - 1 error(s), 0 warning(s) ========== Построение: успешно: 0, с ошибками: 1, без изменений: 0, пропущено: 0 ========== Компилятор пишет, что файл defines.obj создан в более старой версии, но как это может быть, если он сам создает этот файл? |
 
|
|
28.10.2014, 10:34
Сообщение
#2837
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
Если у вас проблемы с пониманием английской студии,может
Rebuild При наличии уже готового .obj он не создается,особенно,если включен /Gm(Минимальное перестроение) |
 
|
|
28.10.2014, 12:07
Сообщение
#2838
|
|
Игрок Репутация: 2 Группа: Участник Сообщений: 41 Награды: 2 Регистрация: 11.03.2009 |
Если у вас проблемы с пониманием английской студии,может Rebuild При наличии уже готового .obj он не создается,особенно,если включен /Gm(Минимальное перестроение) Rebuild не самого xrEngine ни полностью всего проекта не помогает. С английским у меня не очень, но я и так понял, что предлагается перестроить старые объекты и библиотеки. Пользуюсь VS2005 с русификатором. А файл defines.obj создает компилятор. Я пробовал его удалять вручную, но компилятор его создает и сам же на него ругается. |
 
|
|
28.10.2014, 14:09
Сообщение
#2839
|
|
Игровой Эксперт Репутация: 407 Группа: Участник Сообщений: 2394 Награды: 5 Регистрация: 19.01.2009 |
А,ну на 2005 такой баг действительно есть.Лечилось каким-то апдейтом,погугли
|
 
|
|
28.10.2014, 14:10
Сообщение
#2840
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
ключик /LTCG проставьте во всех "причастных" проектах, либо уберите совсем.
|
 
|
|
28.10.2014, 17:56
Сообщение
#2841
|
|
Геймер Репутация: 19 Группа: Участник Сообщений: 130 Награды: 2 Регистрация: 24.05.2008 |
ненавижу я этот lua Моя правка, и lua тут не причем. Похоже старой студии не хватает каких-то инклудов в этом файле, для работы sprintf. Попробуйте добавить в начале файла #include <stdio.h>, например в 23 строку: Код #include <math.h> #include <string.h> #include <stdio.h> [всем] Кстати, что сейчас тормозит миграцию на современные версии LuaJIT? |
 
|
|
Текстовая версия | Сейчас: 04.05.2024, 15:04 |