Закрома Родины |
Здравствуйте, гость ( Авторизация | Регистрация )
Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов
Закрома Родины |
17.09.2014, 16:27
Сообщение
#1781
|
|
И никаких няш-мяш! Репутация: 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 |
 
|
|
|
|
12.08.2014, 21:23
Сообщение
#1782
|
|
Ветеран Репутация: 5 Группа: Участник Сообщений: 82 Награды: 2 Регистрация: 11.07.2014 |
Vampir35, там код, а мне скомпилированный билд надо. вот ссылка на репозиторий Чуть позже скомпилю и кину) -------------------- |
 
|
|
12.08.2014, 21:33
Сообщение
#1783
|
|
Продвинутый геймер Репутация: 90 Группа: Участник Сообщений: 395 Награды: 3 Регистрация: 07.04.2014 |
Vampir35, спасибо тебе милый человек
-------------------- no more running
|
 
|
|
12.08.2014, 21:34
Сообщение
#1784
|
|
Ветеран Репутация: 17 Группа: Участник Сообщений: 92 Награды: 2 Регистрация: 14.07.2013 |
|
 
|
|
12.08.2014, 22:13
Сообщение
#1785
|
|
Ветеран Репутация: 5 Группа: Участник Сообщений: 82 Награды: 2 Регистрация: 11.07.2014 |
я обычно ковыряю последнюю ревизию Прости, я немного выпавший)) Это ЧН- или ТЧ-сорсы? FantomICW', ТЧ) Mcbeat7, да не за что) -------------------- |
 
|
|
13.08.2014, 07:50
Сообщение
#1786
|
|
Продвинутый геймер Репутация: 15 Группа: Участник Сообщений: 322 Награды: 3 Регистрация: 01.05.2014 |
Насчёт моей ошибки (вылет после загрузки Spawn Points), если кому интересно, виноват оказался fsgame.ltx, $level$, $textures$ не должны находиться сразу после $app_data_root$. (Желательно чтобы они находились в конце fsgame.ltx)
Сообщение отредактировал MegaNub - 13.08.2014, 08:09 |
 
|
|
13.08.2014, 12:48
Сообщение
#1787
|
|
Ветеран Репутация: 5 Группа: Участник Сообщений: 82 Награды: 2 Регистрация: 11.07.2014 |
Скомпиленная ревизия 108, раскомментированы все дефайны: максимум правок . От себя добавил только исправленный system.ltx, чтобы при попытке сменить предмет в слоте ножа, бинокля и остального не было вылета без лога
Инвентарь конечно в непотребном виде, но тут каждый настроит под себя сам) Удалить папки gamedata и bin из 6 патча, а потом накинуть туда -------------------- |
 
|
|
13.08.2014, 13:18
Сообщение
#1788
|
|
Ветеран Репутация: 5 Группа: Участник Сообщений: 82 Награды: 2 Регистрация: 11.07.2014 |
Товарищи двиглоправы
Есть у меня такой вопрос, вроде как не нашел я этого функционала из x-ray extensions в ревизии, может ли кто воплотить их? Функции нужные все-таки) Код Манипуляции костями скелета мировой модели и худа
[ТЧ] get_wpn_bone_id(bone_name) - получить индекс кости по её имени для объекта оружия, получаем индекс кости get_hud_bone_id(bone_name) - получить индекс кости по её имени для худа объекта, получаем индекс кости get_hud_bone_pos(bone_name) - получить положение кости худа по её имени, получаем vector get_wpn_bone_visible(bone_name) - получить видимость кости мировой модели объекта оружия (возвращает 1/0) set_wpn_bone_visible(bone_name, 1|0) - установить видимость кости мировой модели объекта оружия set_hud_bone_visible(bone_name, 1|0) - установить видимость кости худа объекта get_bone_visible(bone_name) - получить видимость кости мировой модели объекта (возвращает 1/0) set_bone_visible(bone_name, 1|0) - установить видимость кости объекта play_hud_animation(animation_name, mix_in) - проиграть анимацию худа (анимация должна присутствовать в модели). Второй аргумент (true|false) определяет плавность перехода ini_file object:get_visual_ini() - получить внутренний конфиг модели. Это конфиг, который можно редактировать только в Actor Editor. Многие объекты хранят там свои настройки (машины, прожектора и т.п.) -------------------- |
 
|
|
13.08.2014, 14:08
Сообщение
#1789
|
|
Почти Мастер Репутация: 311 Группа: Участник Сообщений: 1092 Награды: 5 Регистрация: 01.03.2011 |
|
 
|
|
13.08.2014, 14:12
Сообщение
#1790
|
|
Ветеран Репутация: 5 Группа: Участник Сообщений: 82 Награды: 2 Регистрация: 11.07.2014 |
K.D, ведь еще шейдеры для тепловизора были в 6 патче, в седьмом это предвидится?)
-------------------- |
 
|
|
13.08.2014, 14:37
Сообщение
#1791
|
|
Геймер Репутация: 19 Группа: Участник Сообщений: 130 Награды: 2 Регистрация: 24.05.2008 |
Уф, проделал огромную работу по экспорту свойств актора в скрипты. Теперь можно как в NLC изменять его параметры в реальном времени, и даже чуть больше )
Хочу обнародовать призыв к использованию интерфейсов (Luabind оберток для C++ классов), вместо прямого засорения методами и свойствами общего класса CScriptGameObject (в скриптах - game_object). Самый обыкновенный пример получения интерфейса - метод game_object:get_hanging_lamp(). В ревизии 110 я добавил метод получения интерфейса актора game_object:get_actor() Теперь пример кода, как получать предмет выбранный мышью в открытом инвентаре: Код local a = db.actor:get_actor()
if a then local itm = a.inventory.selected_item if itm then wprintf(" selected item %s ", itm:name()) end end |
 
|
|
13.08.2014, 14:40
Сообщение
#1792
|
|
Ветеран Репутация: 5 Группа: Участник Сообщений: 82 Награды: 2 Регистрация: 11.07.2014 |
Ничего себе, огромное тебе спасибо, Alpet, вещь очень нужная, слушай, то есть этим же методом можно получать параметры из actor.ltx? Jump_speed например.
Сообщение отредактировал Vampir35 - 13.08.2014, 14:43 -------------------- |
 
|
|
13.08.2014, 14:45
Сообщение
#1793
|
|
Геймер Репутация: 19 Группа: Участник Сообщений: 130 Награды: 2 Регистрация: 24.05.2008 |
Ничего себе, огромное тебе спасибо, Alpet, вещь очень нужная, слушай, то есть этим же методом можно получать параметры из actor.ltx? Jump_speed например. Получать и менять можно. Включая коэффициенты иммунитета и дисперсию. Код CActor - свойства актора CActor.inventory - свойства инвентаря CActor.condition - свойства кондиции CActor.movement - свойства контроля перемещения Несколько позже постараюсь все занести в Wiki с подробностями. Сообщение отредактировал alpet - 13.08.2014, 14:49 |
 
|
|
13.08.2014, 14:48
Сообщение
#1794
|
|
Магистр Игры Репутация: 270 Группа: Участник Сообщений: 2620 Награды: 4 Регистрация: 26.03.2007 |
|
 
|
|
13.08.2014, 14:55
Сообщение
#1795
|
|
Ветеран Репутация: 17 Группа: Участник Сообщений: 92 Награды: 2 Регистрация: 14.07.2013 |
Может, давайте указывать, на какую платформу и версию сорсов делается очередная правка?)
|
 
|
|
13.08.2014, 14:58
Сообщение
#1796
|
|
Доктор Игровых Наук Репутация: 544 Группа: Участник Сообщений: 3657 Награды: 9 Регистрация: 12.07.2007 |
Скорее нужна отдельная тема для сорцев ЧН дабы точно никто не путался.
|
 
|
|
13.08.2014, 14:59
Сообщение
#1797
|
|
Ветеран Репутация: 5 Группа: Участник Сообщений: 82 Награды: 2 Регистрация: 11.07.2014 |
110 ревизия это уже апприори ТЧ) на ЧН пока столько не сделали
-------------------- |
 
|
|
13.08.2014, 15:00
Сообщение
#1798
|
|
Геймер Репутация: 19 Группа: Участник Сообщений: 130 Награды: 2 Регистрация: 24.05.2008 |
они быстрее и/или менее ресурсоемкие? Если честно, я не уверен насчет скорости. Зависит от оптимальности поиска методов Luabind, при обработке как я понимаю метаметода __index. Если там двоичный поиск по дереву типа boost::map, то заметного выигрыша не будет. Мне-же больше хочется следующего добиться: 1. Избежать запутывания кода сценариев и при этом пользоваться полиморфизмом на объектах. 2. Упростить совместимость скриптов с прошлыми версиями X-Ray, поскольку скажем в комбинации с перехватчиком или X-Ray Extensions можно сделать скриптовые аналоги интерфейсов (метатаблицы нам помогут!). Конечно можно добавлять методы и в game_object с помощью перехвата __index, но это кажется очень дорогим в плане производительности. 3. Чтобы все было красиво и элегантно Чем не может являться класс с сотнями методов и свойств. |
 
|
|
13.08.2014, 15:03
Сообщение
#1799
|
|
Ветеран Репутация: 17 Группа: Участник Сообщений: 92 Награды: 2 Регистрация: 14.07.2013 |
|
 
|
|
13.08.2014, 15:43
Сообщение
#1800
|
|
Продвинутый геймер Репутация: 90 Группа: Участник Сообщений: 395 Награды: 3 Регистрация: 07.04.2014 |
K.D., ты уже правишь сорцы ЧН?
Очистка текстур G-буфера(если ты не понял) Сообщение отредактировал Mcbeat7 - 13.08.2014, 15:50 -------------------- no more running
|
 
|
|
13.08.2014, 16:29
Сообщение
#1801
|
|
Игровое Воплощение Репутация: 394 Группа: Участник Сообщений: 4791 Награды: 4 Регистрация: 27.04.2011 |
и при этом пользоваться полиморфизмом на объектах. get_actor(), с какой стороны ни глянь, совсем не полиморфизм Цитата 3. Чтобы все было красиво и элегантно Чем не может являться класс с сотнями методов и свойств. Раньше, например, было элегантно: ГГ и НПЦ обрабатывались единообразно, а сейчас get_actor, get_npc Цитата a.inventory.selected_item А это вообще ужас-ужас Очистка текстур G-буфера(если ты не понял) Сообщение отредактировал abramcumner - 13.08.2014, 16:14 |
 
|
|
Текстовая версия | Сейчас: 23.04.2024, 10:21 |