Перейти в начало страницы

Здравствуйте, гость ( Авторизация | Регистрация )

Gameru.net останавливает работу в связи с вторжением армии РФ в Украину. Следите за дальнейшими анонсами.
Support Gameru!

> Помощь по разделу

Сайт S.T.A.L.K.E.R. Inside / [ЗП] Параметры командной строки / Распаковщик ресурсов

> Закрома Родины
fen1x
сообщение 17.09.2014, 16:27
Сообщение #1761


И никаких няш-мяш!
**************************

Репутация:   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
Перейти в начало страницы
 
191 страниц V  « < 87 88 89 90 91 > »   
Начать новую тему
Ответов
Modera
сообщение 12.08.2014, 11:07
Сообщение #1762


.
**********************

Репутация:   750  
Группа: Участник
Сообщений: 7072
Награды: 4
Регистрация: 30.07.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


Попробуйте какой-нибудь спаун для теста собрать. Желательно родным xrAI из сорцев.

Если не запустится, то плохо дело laugh.gif
Перейти в начало страницы
 
hi_flyer
сообщение 12.08.2014, 16:01
Сообщение #1763


Мастер Игры
************

Репутация:   232  
Группа: Друзья GM
Сообщений: 1299
Награды: 4
Регистрация: 05.03.2012




Вставить ник Цитировать выделенное в форуму быстрого ответа


При компиляции xrEngine.exe с конфигурацией "Release" на стадии линковки выдает сообщение:
fatal error C1047: The object or library file '..\..\sdk\libraries\oalibmt.lib' was created with an older compiler than objects; rebuild old objects and libraries

На конфигурации "Mixed" полностью компилируется и даже запускается. Компилирую восьмой студией, экспресс версией.

Подскажите, как решить эту проблему.


--------------------
Перейти в начало страницы
 
jamakasi
сообщение 12.08.2014, 16:17
Сообщение #1764


Доктор Игровых Наук
*******************

Репутация:   544  
Группа: Участник
Сообщений: 3657
Награды: 9
Регистрация: 12.07.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


hi_flyer,
Цитата
was created with an older compiler than objects; rebuild old objects and libraries

По логике перекомпилировать эту либу но возможно устанавливаются неправильные флаги компиляции для либы этой(если она компилится каждый раз). Попробуй вызвать полный ребилд проекта.
Перейти в начало страницы
 
HikeR
сообщение 12.08.2014, 16:30
Сообщение #1765


Магистр Игры
****************

Репутация:   270  
Группа: Участник
Сообщений: 2620
Награды: 4
Регистрация: 26.03.2007




Вставить ник Цитировать выделенное в форуму быстрого ответа


OpenAutomate (либа автотестов от нвидии) лет 5 уже как публичная, если GCS не использовали какие-то закрытые тестовые версии, то действительно, проще всего пересобрать ее из исходников.

а пляски со статическими либами собранными древними компиляторами и реакция на них компиляторов сегодняшних уже обсуждались ;)
Перейти в начало страницы
 
FantomICW
сообщение 12.08.2014, 16:55
Сообщение #1766


Ветеран
*****

Репутация:   17  
Группа: Участник
Сообщений: 92
Награды: 2
Регистрация: 14.07.2013




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(X_Starter_X @ 09.08.2014, 16:11) *
калбэк на смену костюма

Скомпилим с коллегами в очередной раз сорсы, проверим работоспособность моих правок в этом направлении. Если все будет работать, то сделаю туториал по новым коллбекам wink_old.gif
Перейти в начало страницы
 
FantomICW
сообщение 12.08.2014, 18:18
Сообщение #1767


Ветеран
*****

Репутация:   17  
Группа: Участник
Сообщений: 92
Награды: 2
Регистрация: 14.07.2013




Вставить ник Цитировать выделенное в форуму быстрого ответа


Впрочем, давайте ход мыслей озвучу сейчас. Но работоспособность не гарантирую. Пока что именно правки сорс-файлов, с игровыми скриптами сложностей не возникнет + детально прокомментирую в полном туторе, если такой будет.
Взять, к примеру, предложение Стартера - добавить коллбек на попадание броника в слот. Попробуем сделать коллбек на попадание в свой слот любого предмета.
Нужные файлы из директории xrGame:
- InventoryOwner.cpp
- script_game_object_script.cpp
- game_object_space.h
Текст
1. Открываем game_object_space.h. По идее, здесь идет перечисление движковых названий коллбеков. В таблицу (перечисление?) enum ECallbackType добавляем вниз новый движковый коллбек:
Код
eOnItemInSlot,

2. Дальше идем в script_game_object_script.cpp. Тут движковые коллбеки приобретают свои скриптовые название (те, что мы можем видеть в lua_help.script). После этого:
Код
value("map_location_added",            int(GameObject::eMapLocationAdded))

ставим запятую, ниже дописываем value нашего коллбека. В целом выглядит так:
Код
value("map_location_added",            int(GameObject::eMapLocationAdded)),
                
                value("on_item_in_slot",            int(GameObject::eOnItemInSlot))

3. Теперь переходим к InventoryOwner.cpp, где инициализируются различные инвентарные действия относительно ГГ. Находим void OnItemSlot. В нем, насколько я понимаю, айтем "цепляется" в слоте. Добавим туда некоторые элементы, войд будет выглядеть так:
Код
void CInventoryOwner::OnItemSlot    (CInventoryItem *inventory_item, EItemPlace previous_place)
{
    CGameObject    *object = smart_cast<CGameObject*>(this);
    VERIFY        (object);
    object->callback(GameObject::eOnItemSlot)(inventory_item->object().lua_game_object());
    
    attach        (inventory_item);
}

---------------------
Как-то так. Сразу говорю, что это чуть больше, чем просто метод тыка, основанный на изучении шаблонов других коллбеков. Особыми знаниями C++ не обладаю, как и глубокими знаниями движка.


Сообщение отредактировал FantomICW - 12.08.2014, 18:18
Перейти в начало страницы
 
Asterix
сообщение 12.08.2014, 19:17
Сообщение #1768


Продвинутый геймер
********

Репутация:   90  
Группа: Участник
Сообщений: 395
Награды: 3
Регистрация: 07.04.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Уважаемые будет добры! Дайте ссыль на скомпилированные исходники ТЧ 1.0007 без правок.

Сообщение отредактировал Mcbeat7 - 12.08.2014, 19:21


--------------------
no more running
Перейти в начало страницы
 
Vampir35
сообщение 12.08.2014, 19:22
Сообщение #1769


Ветеран
*****

Репутация:   5  
Группа: Участник
Сообщений: 82
Награды: 2
Регистрация: 11.07.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


FantomICW, так калбек на попадание в слот имеется, на попадание в рюкзак тоже, следовательно снятие/одевание костюма этими калбеками отловить можно smile.gif
Вот вопрос другой, калбек на нажатие контакта в ПДА нужен, попытавшись найти откуда ноги растут я потерпел неудачу)
Вроде бы вызываться должно там, где выводится биография, которую восстановил товарищ Shadows, если бы еще туда вкатить калбек, который передаст клиентский объект непися, было бы здорово)


--------------------
Перейти в начало страницы
 
FantomICW
сообщение 12.08.2014, 19:28
Сообщение #1770


Ветеран
*****

Репутация:   17  
Группа: Участник
Сообщений: 92
Награды: 2
Регистрация: 14.07.2013




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Vampir35 @ 12.08.2014, 20:22) *
калбек на попадание в слот имеется


Vampir35, покажи мне такой коллбек из данной таблицы smile.gif
Callback
Код
C++ class callback {
    const action_animation = 21;
    const action_movement = 18;
    const action_object = 24;
    const action_particle = 23;
    const action_removed = 20;
    const action_sound = 22;
    const action_watch = 19;
    const actor_sleep = 25;
    const article_info = 12;
    const death = 8;
    const helicopter_on_hit = 27;
    const helicopter_on_point = 26;
    const hit = 16;
    const inventory_info = 11;
    const inventory_pda = 10;
    const level_border_enter = 7;
    const level_border_exit = 6;
    const map_location_added = 14;
    const on_item_drop = 29;
    const on_item_take = 28;
    const patrol_path_in_point = 9;
    const script_animation = 30;
    const sound = 17;
    const take_item_from_box = 34;
    const task_state = 13;
    const trade_perform_operation = 3;
    const trade_sell_buy_item = 2;
    const trade_start = 0;
    const trade_stop = 1;
    const trader_global_anim_request = 31;
    const trader_head_anim_request = 32;
    const trader_sound_end = 33;
    const use_object = 15;
    const weapon_no_ammo = 35;
    const zone_enter = 4;
    const zone_exit = 5
};


Сообщение отредактировал FantomICW - 12.08.2014, 19:29
Перейти в начало страницы
 
Vampir35
сообщение 12.08.2014, 19:36
Сообщение #1771


Ветеран
*****

Репутация:   5  
Группа: Участник
Сообщений: 82
Награды: 2
Регистрация: 11.07.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Mcbeat7 @ 12.08.2014, 20:17) *
Уважаемые будет добры! Дайте ссыль на скомпилированные исходники ТЧ 1.0007 без правок.

А как без правок? В том-то и дело, что тут тема правок, и с правками багов меньше, а если что-то не требуется, то можно не использовать или скомпилить, отключив дефайны.
Есть билд от KD: https://yadi.sk/d/a9RRtuI9ZWJa5
P.S
Если возникла необходимость, могу скомпилить чистую ревизию с нужными вам дефайнами)


--------------------
Перейти в начало страницы
 
FantomICW
сообщение 12.08.2014, 19:36
Сообщение #1772


Ветеран
*****

Репутация:   17  
Группа: Участник
Сообщений: 92
Награды: 2
Регистрация: 14.07.2013




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Vampir35 @ 12.08.2014, 20:22) *
калбек на нажатие контакта в ПДА

Если там класс CUIButton, то, вероятно, файл UIButton.cpp, войд клика:
Код
void CUIButton::OnClick(){
    GetMessageTarget()->SendMessage(this, BUTTON_CLICKED);
    m_bButtonClicked = true;
}
Перейти в начало страницы
 
Vampir35
сообщение 12.08.2014, 19:51
Сообщение #1773


Ветеран
*****

Репутация:   5  
Группа: Участник
Сообщений: 82
Награды: 2
Регистрация: 11.07.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(FantomICW @ 12.08.2014, 20:28) *
Цитата(Vampir35 @ 12.08.2014, 20:22) *
калбек на попадание в слот имеется


Vampir35, покажи мне такой коллбек из данной таблицы smile.gif
Callback
Код
C++ class callback {
    const action_animation = 21;
    const action_movement = 18;
    const action_object = 24;
    const action_particle = 23;
    const action_removed = 20;
    const action_sound = 22;
    const action_watch = 19;
    const actor_sleep = 25;
    const article_info = 12;
    const death = 8;
    const helicopter_on_hit = 27;
    const helicopter_on_point = 26;
    const hit = 16;
    const inventory_info = 11;
    const inventory_pda = 10;
    const level_border_enter = 7;
    const level_border_exit = 6;
    const map_location_added = 14;
    const on_item_drop = 29;
    const on_item_take = 28;
    const patrol_path_in_point = 9;
    const script_animation = 30;
    const sound = 17;
    const take_item_from_box = 34;
    const task_state = 13;
    const trade_perform_operation = 3;
    const trade_sell_buy_item = 2;
    const trade_start = 0;
    const trade_stop = 1;
    const trader_global_anim_request = 31;
    const trader_head_anim_request = 32;
    const trader_sound_end = 33;
    const use_object = 15;
    const weapon_no_ammo = 35;
    const zone_enter = 4;
    const zone_exit = 5
};



Стал копаться в движке, калбек все-таки имеется, помнил же вроде видел smile.gif таким он будет в скрипте bind_stalker:
"on_item_slot"

Сообщение отредактировал Vampir35 - 12.08.2014, 19:51


--------------------
Перейти в начало страницы
 
FantomICW
сообщение 12.08.2014, 19:52
Сообщение #1774


Ветеран
*****

Репутация:   17  
Группа: Участник
Сообщений: 92
Награды: 2
Регистрация: 14.07.2013




Вставить ник Цитировать выделенное в форуму быстрого ответа


Vampir35, так где ты его нашел?
Перейти в начало страницы
 
Vampir35
сообщение 12.08.2014, 19:56
Сообщение #1775


Ветеран
*****

Репутация:   5  
Группа: Участник
Сообщений: 82
Награды: 2
Регистрация: 11.07.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


таблица
Код
        value("trade_start", int(GameObject::eTradeStart)),
                    value("trade_stop", int(GameObject::eTradeStop)),
                    value("trade_sell_buy_item", int(GameObject::eTradeSellBuyItem)),
                    value("trade_perform_operation", int(GameObject::eTradePerformTradeOperation)),
                    value("trader_global_anim_request", int(GameObject::eTraderGlobalAnimationRequest)),
                    value("trader_head_anim_request", int(GameObject::eTraderHeadAnimationRequest)),
                    value("trader_sound_end", int(GameObject::eTraderSoundEnd)),
                    value("zone_enter", int(GameObject::eZoneEnter)),
                    value("zone_exit", int(GameObject::eZoneExit)),
                    value("level_border_exit", int(GameObject::eExitLevelBorder)),
                    value("level_border_enter", int(GameObject::eEnterLevelBorder)),
                    value("death", int(GameObject::eDeath)),
                    value("patrol_path_in_point", int(GameObject::ePatrolPathInPoint)),
                    value("inventory_pda", int(GameObject::eInventoryPda)),
                    value("inventory_info", int(GameObject::eInventoryInfo)),
                    value("article_info", int(GameObject::eArticleInfo)),
                    value("use_object", int(GameObject::eUseObject)),
                    value("hit", int(GameObject::eHit)),
                    value("sound", int(GameObject::eSound)),
                    value("action_movement", int(GameObject::eActionTypeMovement)),
                    value("action_watch", int(GameObject::eActionTypeWatch)),
                    value("action_animation", int(GameObject::eActionTypeAnimation)),
                    value("action_sound", int(GameObject::eActionTypeSound)),
                    value("action_particle", int(GameObject::eActionTypeParticle)),
                    value("action_object", int(GameObject::eActionTypeObject)),
                    value("actor_sleep", int(GameObject::eActorSleep)),
                    value("helicopter_on_point", int(GameObject::eHelicopterOnPoint)),
                    value("helicopter_on_hit", int(GameObject::eHelicopterOnHit)),
                    value("on_item_take", int(GameObject::eOnItemTake)),
                    value("on_item_drop", int(GameObject::eOnItemDrop)),
                    value("script_animation", int(GameObject::eScriptAnimation)),
                    value("task_state", int(GameObject::eTaskStateChange)),
                    value("take_item_from_box", int(GameObject::eInvBoxItemTake)),
                    value("map_location_added", int(GameObject::eMapLocationAdded)),
                    value("on_item_in_slot", int(GameObject::eOnItemInSlot))
                    /************************************************** added by Ray Twitty (aka Shadows) START **************************************************/
                    // клавиатура/мышь
                    value("on_key_press", int(GameObject::eonKeyPress)),
                    value("on_key_release", int(GameObject::eOnKeyRelease)),
                    value("on_key_hold", int(GameObject::eOnKeyHold)),
                    value("on_mouse_move", int(GameObject::eonMouseMove)),
                    value("on_mouse_wheel", int(GameObject::eonMouseWheel)),
                    // инвентарь
                    value("on_item_belt", int(GameObject::eOnItemBelt)),
                    value("on_item_slot", int(GameObject::eOnItemSlot)),
                    value("on_item_ruck", int(GameObject::eOnItemRuck)),
                    // фонарь
                    value("switch_torch", int(GameObject::eSwitchTorch)),
                    /*************************************************** added by Ray Twitty (aka Shadows) END ***************************************************/                
                    // Added by Cribbledirge Start
                    value("on_mouse_press", int(GameObject::eOnMousePress)),
                    value("on_mouse_release", int(GameObject::eOnMouseRelease)),
                    value("on_mouse_hold", int(GameObject::eOnMouseHold)),
                    value("on_actor_weapon_fire", int(GameObject::eOnActorWeaponFire)),
                    value("on_actor_weapon_reload", int(GameObject::eOnActorWeaponReload)),
                    value("on_actor_weapon_jammed", int(GameObject::eOnActorWeaponJammed)),
                    value("on_actor_weapon_empty", int(GameObject::eOnActorWeaponEmpty)),
                    value("on_actor_weapon_zoom_in", int(GameObject::eOnActorWeaponZoomIn)),
                    value("on_actor_weapon_zoom_out", int(GameObject::eOnActorWeaponZoomOut))


--------------------
Перейти в начало страницы
 
FantomICW
сообщение 12.08.2014, 20:14
Сообщение #1776


Ветеран
*****

Репутация:   17  
Группа: Участник
Сообщений: 92
Награды: 2
Регистрация: 14.07.2013




Вставить ник Цитировать выделенное в форуму быстрого ответа


Vampir35, а, ну ясно. Я ковыряю чистые сорсы, а ты - ревизию Шэдоуса smile.gif
Перейти в начало страницы
 
Vampir35
сообщение 12.08.2014, 20:20
Сообщение #1777


Ветеран
*****

Репутация:   5  
Группа: Участник
Сообщений: 82
Награды: 2
Регистрация: 11.07.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(FantomICW @ 12.08.2014, 21:14) *
Vampir35, а, ну ясно. Я ковыряю чистые сорсы, а ты - ревизию Шэдоуса smile.gif

Просто я обычно ковыряю последнюю ревизию) в ней сделано больше smile.gif


--------------------
Перейти в начало страницы
 
Билдоман
сообщение 12.08.2014, 20:44
Сообщение #1778


Босс
********************

Репутация:   950  
Группа: Участник
Сообщений: 4230
Награды: 2
Регистрация: 27.09.2010




Вставить ник Цитировать выделенное в форуму быстрого ответа


В сурсах лежат контакты разрабов)


--------------------
I NEED A BRAAAAAAAAAAAAAAAAAAAAAAP!!!!11
Перейти в начало страницы
 
Asterix
сообщение 12.08.2014, 20:49
Сообщение #1779


Продвинутый геймер
********

Репутация:   90  
Группа: Участник
Сообщений: 395
Награды: 3
Регистрация: 07.04.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Vampir35, кинь ссыль на 108 ревизию

Кстати, кто-нибудь уже сделал выгрузку текстур из G буфера и динамических моделей в сорцах ЧН?


--------------------
no more running
Перейти в начало страницы
 
Vampir35
сообщение 12.08.2014, 20:53
Сообщение #1780


Ветеран
*****

Репутация:   5  
Группа: Участник
Сообщений: 82
Награды: 2
Регистрация: 11.07.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Цитата(Mcbeat7 @ 12.08.2014, 21:49) *
Vampir35, кинь ссыль на 108 ревизию

Кстати, кто-нибудь уже сделал выгрузку текстур из G буфера и динамических моделей в сорцах ЧН?

Так она через СВН обновляется)
Ссылки для svn у меня к сожалению нету smile.gif


--------------------
Перейти в начало страницы
 
Asterix
сообщение 12.08.2014, 21:00
Сообщение #1781


Продвинутый геймер
********

Репутация:   90  
Группа: Участник
Сообщений: 395
Награды: 3
Регистрация: 07.04.2014




Вставить ник Цитировать выделенное в форуму быстрого ответа


Vampir35, там код, а мне скомпилированный билд надо.
вот ссылка на репозиторий https://xp-dev.com/svn/xray/

Сообщение отредактировал Mcbeat7 - 12.08.2014, 21:02


--------------------
no more running
Перейти в начало страницы
 

191 страниц V  « < 87 88 89 90 91 > » 
Тема закрытаНачать новую тему
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 19.04.2024, 00:33