SDK - набор исходников для Serious Sam: The Second Encounter 1.05/1.07. C помощью SDK, а также знания языка программирования С++ можно оперировать функционалом движка Serious Engine 1: создавать новых врагов, оружие, собственный интерфейс, игровые режимы, да практически что угодно.
После того как вы загрузили SDK, устанавливаем его. Открываем архив и видим 4 zip'a:
SDK107_DebugBinaries.zip
SDK107_EntitiesSE.zip
SDK107_Includes.zip
SDK107_ModelsSE.zip
Сейчас мы сделаем папку для workspace'а нашего мода. Эта папка будет располагаться отдельно от папки с игрой. К примеру она будет называться C:\MyMod. Далее идем в папку Сэма(у меня C:\Games\SSSE) и копируем оттуда папку Bin в нашу новую папку: C:\MyMod. Потом в вашей папке C:\MyMod\Bin, создайте другую папку Debug и извлеките SDK107_DebugBinaries.zip в неё.
Сейчас идём в C:\MyMod и создаем папку Sources и извлекаем туда SDK107_EntitiesSE.zip. Потом извлекаем SDK107_Includes.zip в ту же папку (C:\MyMod\Sources) и делаем то же самое с SDK107_ModelsSE.zip.
Затем извлеките архив с DirectX 8.1 Headers & Libraries в C:\MyMod.
Далее идем в C:\MyMod\Sources и видим файлы с именем:
Engine.lib
EngineGUI.lib
И копируем эти файлы в папку C:\MyMod\Bin.
Щелкаем правой кнопкой по "Мой компьютер" и выбираем свойства, щелкаем по "Дополнительно", нажимаем кнопку "Переменные Среды". Вы увидите новое окно, нажмите верхнюю кнопку "создать" и в поле "Имя переменной" введите ENGINE_DIR и в Значение переменной введите: C:\MyMod\Sources.
Сейчас самое время запустить Microsoft Visual C++ 6.0 и создать ваш собственный workspace (File -> New). Это откроет окно названное New. Щелкните по закладке Workspaces. Введите в поле Location местоположение вашего мода: C:\MyMod\ Сейчас в Workspace name впишите Sources. Нажмите ОК. Щелкните Project -> Insert Project into Workspace... и добавте EntitiesMP.dsp файл, из папки C:\MyMod\Sources\EntitiesMP. Затем проделайте тоже самое с файлами GameMp.dsp и GameGUIMP.dsp.
Нажмите Project -> Dependencies... и сделаете так:
Entity MP-все выключено.
Game MP-EntitiesMP-включено, GameGUIMP-выключено.
GameGUIMP-EntitiesMP-выключено, GameMP-включено.
Теперь нажмите Project -> Settings... чтобы вызвать окно Project Settings. Щелкните по закладке Custom Build далеко справа. Сейчас в Commands box удалите две нижнии линии содержащие .lib и .map файлы.
Наконец нажмите Tools -> Options в меню. Щелкните по закладке Directories. В Show directories for: выберите Executable files и добавьте следующий путь в список: C:\MyMod\Bin Поменяйте Show directories for: на Include files и добавьте следующие пути в список:
C:\MyMod\Bin
C:\MyMod\Sources
Поменяйте Show directories for: на Library files и добавьте следующие пути в список:
C:\MyMod\Bin
C:\MyMod\Bin\Debug
Нажмите Build->Set Active Configuration... и выберите EntitiesMP-Win 32 Release
Нажмите F7 для компиляции (создания нового .dll файла). Новую EntitiesMP.dll можно будет найти в папке C:\MyMod\Sources\Bin.
Если компилятор выдаст:
Код
Copying EntitiesMP binaries to C:\MyMod\Bin Error executing d:\windows\system32\cmd.exe
То в Project -> Settings...->Custom Build, в Commands поменяйте $ENGINE_DIR на C:\MyMod\Sources и/или запустите Microsoft Visual C++ 6.0 от имени администратора. При возникновении других ошибок после настройки SDK, пробуйте Build->Rebuild All.
Автор оригинального туториала: Croteam (перевод: Dr. Zlo)
Рекомендую не прописывать никаких системных переменных, а писать все через относительные пути. Тогда папку с исходниками можно будет копировать и переносить, и она от этого не перестанет работать.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Алсо, могу написать статью как настроить сдк под абсолютные пути и настроить дебаг. Надо? (напомню еще, что была статья про добавление нового оружия в игру, которую я писал для журнала Serious Time) Могу написать еще статей на определенную тему, если кому-нибудь это интересно и нужно.
Я правильный дебаг так ни разу и не настраивал. %) Когда надо - подключаюсь с помощью Attach to process и дебажу.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Алсо, могу написать статью как настроить сдк под абсолютные пути и настроить дебаг. Надо? (напомню еще, что была статья про добавление нового оружия в игру, которую я писал для журнала Serious Time) Могу написать еще статей на определенную тему, если кому-нибудь это интересно и нужно.
Нужно! Буду премного благодарен и думаю, не я один. Ту статью из Serious Time, стоит поместить отдельной статьёй в каталог статей, ссылку на неё и другие статьи (если такие будут написаны) добавлю в шапку. P.S.: тоже подумываю над тем, чтобы написать пару статей на тему SDK для новичков only.
Доброго настроения! Захотелось, вот, попробовать сие развлечение. По инструкции вроде делал, все внимательно читал и перечитывал. <_<
ЦитатаZIM ()
То в Project -> Settings...->Custom Build, в Commands поменяйте $ENGINE_DIR на C:\MyMod\Sources и/или запустите Microsoft Visual C++ 6.0 от имени администратора.
Не помогло.
Быть модератором не более 15 секунд :achievement unlocked:
Mad, убедись, что в пути к исходникам нет русских символов. Запускать от имени администратора ничего не надо. У тебя в Tools->Options->Directories точно все пути прописаны? Желательно также сделать Build->Set Active Configuration->EntitiesMP - Release, ибо профита от Debug версии мне прочувствовать так и не удалось. В общем, не знаю, какую ты читал там инструкцию, распишу тебе всё с нуля, как я обычно делаю сам.
Поехали:
1. Выкачиваем исходники, распаковываем их куда угодно, в отдельную папочку. Вместе с ними находим DirectX 8 SDK и устанавливаем его. Вообще говоря, оттуда нам понадобится несколько файликов, которые легко гуглятся и копируются в корень папки с исходниками(це усе простоты ради и лени от). Крайне рекомендуется исключить из пути кириллицу, китайский, японский, пробелы и тому подобное. Например, хорошим вариантом будет C:\MyMod\Sources. Структура должна быть примерно такова:
2. Файлики Engine.lib и EngineGUI.lib копируем в папку Bin твоего мода(или же оригинального Сэма, смотря куда тебе приспичит кидать получившиеся на выходе DLL). В принципе, можно вообще ничего не копировать, а просто прописать папку Sources в качестве папки с библиотеками, но это очень некрасивый подход.
3. Далее нам нужно прописать переменную окружения ENGINE_DIR, а точнее, просто указать место выхлопа готовых DLL. Тут есть три варианта. Первый заключается в том, чтобы заменить в настройках $(ENGINE_DIR) на директорию мода. Лично я являюсь противником этого метода. Для этого заходим в редактор реестра, следуем по HKEY_CURRENT_USER\Environment, создаем там переменную типа String с названием ENGINE_DIR и в ней пишем путь к моду(либо просто Сэму). Например, у меня это "Z:\home\nick\Syava"(без кавычек). Третий вариант aka Удобный. Заменяем в настройках проектов ENGINE_DIR на ../ и кидаем папку с исходниками прямо в папку с Сэмом.
4. Далее, заходишь в Visual C++ 6.0(на других версиях пока не пробовал, хочу попробовать), создаешь пустой Workspace, в качестве Location прописываешь прямой путь к исходникам. То есть, это может быть тот же "C:\MyMod\Sources". В Workspace добавляешь три проекта(ПКМ по Workspace->Insert Project..."), заходишь в Project->Dependecies. У GameMP проставяешь EntitiesMP, у GameGUIMP проставляешь GameMP.
5. Идешь в Tools->Options->Directories. Там нам нужно проставить несколько настроек.
Include files: Путь к папке с исходниками, то бишь Sources. Тут компилятор будет искать .h файлы, которые мы подключаем.
Executable files: Тут указываем путь к папке, в которой лежит ecc.exe, обычно это что-то вроде C:\SeriousSam\Bin.
Library files: Путь к папке с .lib файлами. Если скопировали .lib файлы в Bin, указываем Bin. Позже, если захочется прибить к Сэму какую-нибудь левую библиотечку(как в моем случае), придется добавлять сюда(и в Include files тоже) новые строчки.
6. Build->Set Active Configuration->EntitiesMP - Release. ЕМНИП, этого должно быть достаточно, чтобы всё компилировалось, собиралось, автоматически копировалось в Bin и запускалось. Можешь после всего этого сходить в EntitiesMP->Settings->Debug->Executable for debug session, указать там какой-нибудь SeriousEditor.exe, в Program arguments прописать +game MyModFolderName и радоваться жизни, сразу после сборки запуская SED с твоим модом по Ctrl+F5.
Поправьте меня, если я что-то забыл или переврал, времени 5 часов ночи. А вообще, если и после этого не будет работать, свяжись со мной через Steam/Skype(nckgriva)/ЛС/email.
P.S. Прочитал шапку, перечитал свой ответ, психанул, чуть не удалил :/
Сообщение отредактировалthecre - Четверг, 08.01.2015, 05:00
Mad, Тебе нужен DirectX 8.1 SDK(я ставил такой). Если не найдешь, могу выложить.
Съешь еще этих мягких французских чаек да выпей булок.
Сыны Интернета, мои братья! Я вижу в ваших глазах тот же страх, который сжимал моё сердце. Возможно, наступит день, когда мужество оставит род людей, и мы предадим пиратов и будем покупать лицензионные игры — но только не сегодня. Может быть, придёт час чиновников, когда правообладатели победят и настанет закат эпохи свободы — но только не сегодня! Сегодня мы качаем… и раздаем все, что вы так любите на этой славной земле. Зову вас на трекеры, Последователи Пиратов!
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.
Mad, он там уже есть, называется DirectX 8.1 Headers & Libraries.
Where did all the dragons go? We searched in the hills and we searched down the canyons, we even scanned the depths of the caves with our armour, swords and lanterns. Oh, if only had we seen him lurch, from his glorious skull covered perch.
CRACK went his claws and SMACK swipped the tail, a ROAR of might, one big BITE.