Cursed Earth: HOWTO для программистов
#22
IDoL,Пятница, 12 Февраля 2010, 12:47 Написал:Итак, проверил scons в Code::Blocks — решение волне работоспособное.
Однако Вам все же понадобится пройти шаги с получением исходного кода и установкой компилятора и scons.
Code::Blocks вы можете скачать по

Возможно также будет работать сборка со встроенным MinGW(без выполнения шага установки MinGW), но я не пробовал (если кто попробует и отпишется — было бы здорово).
Скачиваем, устанавливаем, выбираем workspace.

У нас 2 пути. Мы можем использовать несолько проектов (по совету Sagrer) или использовать таргеты. Эта заметка по использованию таргетов(т.к. большинство исходного кода едино), но Вы можете пойти другим путем через создание нескольких проектов по 1 для каждого спайка — это делается аналогично и в итоге получается примерно одинаково по удобству. Для scons [все же] присутствуют флаги для компиляции отдельных спайков.

Создаем новый проект “Empty Project” назовем его cursedearth. Подменяем путь “Folder to create project in” на C:dev. Убеждаемся, что “Resulting filename” будет содержать строку C:devcursedearthcursedearth.cbp. На самом деле, мы можем использовать для файла проекта любую директорию но так наиболее наглядно при работе с одним проектом. Next.
Тут мы создадим таргеты для релиза и дебага mprviewer`а. Конфигурации будут соответственно такими: mprviewer_debug и mprviewer_release. Очищаем опции с директориями результатов для обеих конфигураций. Finish.
В окне Management появился проект вложеный в наш workspace.

Вся последующая настройка уже выполнена для mprviewer и texviewer в  (файл проекта и Makefile). Вы можете разархивировать его в папку с созданым проектом замещая существующие файлы. Притом конфигурировать таргеты в этом случае не обязательно.
Однако аргументы для выполнения спайков расчитаны на то, что ресурсы игры лежат в папке “EI” в рабочей папке проекта (например C:devcursedearthEI — путь к EI относительный). Следовательно Вы можете или изменить аргументы или добавить ресурсы в папку EI. Еслы вы создаете папку EI не забудьте добавить ее в исключения git, в дополнение к остальным исключениям(см. ниже).

Выберем его и добавим файлы проекта Правая кнопка → “Add files recursively...”. Тут выберем папку в которой находятся все наши файлы (C:devcursedearth). По умолчанию выбрана папка проекта, так что если Вы создали проект в папке с исходном кодом жмем OK выбираем все файлы Select All, OK, выбираем все таргеты Select All, OK. Т. к. Code::Blocks не обращает внимание на то, какие файлы находятся в папке с проектом, нам будет необходимо выполнять эти действия каждый раз при появлении новых файлов с исходным кодом — или просто после обновления из git(частично будут бесполезно выполненые действия, но будет так же и уверенность что ничего не пропустили).
Лезем в настройки проекта “Project” → “Properties”.
Во вкладке “Project settings” установим флажок “This is a custom Makefile”.
Во вкладке “Build Targets” для mprviewer_debug установим “Output filename” во чтото вроде
Код:
spikesmprviewerbini386-win32-mingwdebugmprviewer.exe
в зависимости от архитектуры и платформы.  Снимем флажки “Auto-generate filename prefix” и “Auto-generate filename extension”. Для mprviewer_release
Код:
spikesmprviewerbini386-win32-mingwreleasemprviewer.exe
и снимем те же флажки.
Следующие действия необходимо будет выполнять при появлении новых спайков (если Вы выбрали работать с таргетами). Здесь будет рассмотрено создание таргетов для texviewer.
В панели “Build Targets” выбираем и создаем копии для mprviewer_debug и mprviewer_release кнопкой Duplicate, называя их texviewer_debug и texviewer_release. И подменим “Output filename” в дублированых таргетах на
Код:
spikestexviewerbini386-win32-mingwdebugtexviewer.exe
и
Код:
spikestexviewerbini386-win32-mingwreleasetexviewer.exe
соответственно. Жмем ОК.
Создадим в папке C:devcursedearth файл с именем Makefile(без расширения) со следующим содержанием:
Код:
all:
    scons

mprviewer_release:
    scons mprviewer
mprviewer_debug:
    scons RELEASE=0 mprviewer
cleanmprviewer_release:
    scons mprviewer -c
cleanmprviewer_debug:
    scons RELEASE=0 mprviewer -c

texviewer_release:
    scons texviewer
texviewer_debug:
    scons RELEASE=0 texviewer
cleantexviewer_release:
    scons texviewer -c
cleantexviewer_debug:
    scons RELEASE=0 texviewer -c
Для каждого нового спайка Вам понадобится создать новую секцию(при использовании таргетов). Для нескольких проектов Вы можете использовать несколько Makefile`ов а можете один, но тогда Вам придется называть таргеты примерно так же как в этой заметке.
Сейчас мы можем попробовать, что у нас получилось используя Build(шестеренка) и Run(синий треугольник) или сразу Build and Run(шестеренка с красным треугольником).
Нам покажется экран с помощью по спайку, где будут описаны правила использования и аргументы. Закрываем появившуюся командную строку.
Теперь нам необходимо передать аргументы для собраных файлов. “Project” → “Set programs' arguments...”. В появившемся окне для обоих таргетов mprviewer вставим в текстбокс “Program Arguments” нечто вроде
Код:
-s 0.5 -f -b "C:EI" zone13
Для таргетов texviewer -
Код:
-d 50 "C:EIRestextures.res"
Для новых спайков смотрите аргументы показаные в командной строке, при вызове без аргументов.
Учтите что после добавлении строки с аргументами для таргета необходимо нажать на ОК. После этого придется заново вызвать окно для задания аргументов.
Теперь спомощью Run вызывается спайк с необходимыми аргментами.
Сохраним проект.
Не забывайте закрывать командную строку после завершения работы спайка.
Так же не забываем добавить в C:devcursedearth.gitinfoexclude строчки:
Код:
Makefile
*.cbp
*.layout

Ну вот наверное и все.
[right][snapback]40000[/snapback][/right]
Ответ


Сообщения в этой теме
Cursed Earth: HOWTO для программистов - от Guest - 17.02.2010, 19:57

Перейти к форуму:


Пользователи, просматривающие эту тему: 2 Гость(ей)