Как компилировать Angband?

----------

Полный английский вариант доступен здесь

Многие хотят создать свою версию Angband'a или его вариант. Если вы не можете от откомпилировать новый вариант для своей платформы, вам приходится ждать пока кто-нибудь не сделает это. Вы ждете и читаете о крутых фичах в новых версиях на rec.games.roguelike.angband. И когда откомпилированная версия наконец-то готова, оказывается что уже есть новая версия! :-)

Я написал пошаговое руководство по компиляции Angband'a для разных платформ и компиляторов.

Для первого раза я рекомендую использовать исходники стандартного Angband'a.

Если вы хотите поделиться своим опытом по компиляции Angband'a, то пишите нам.


DOS & DJGPP

от Robert Ruehlmann

  1. Достанте компилятор и установите его :-) Он свободно доступен на DJGPP C and C++ Compiler. Это один из лучших и быстрых компиляторов. На сайте DJGPP идите на страницу Zip-Picker Эта страница поможет вам выбрать нужные компоненты и даже попытается найти ближайший к вам FTP сервер. (Но лучше не полениться и найти файлы самому с помощью ftp search - наверняка найдется ftp с более быстрым доступом) Если вы хотите использовать графику в своей версии, то на странице 'Extra Stuff/Toolkits' выберите Allegro-library. Получите все прндложинные файлы на следующей странице и следуйте инструкции по установке. Если у вас версия DOS-патча с поддержкой проигрывания MOD-файлов, то скачйте и установите JGMOD library.
  2. Установка исходников Angband'a: Разархивируйте их (с ключем -d для pkunzip.exe). в некоторых архивах нет файлов-данных для игры. Если в вашей директории Angband'a нет директории Lib, скопируйте ее из полного дистрибутива.
  3. Подготовка к компиляции: Переименуйте файл 'Makefile.dos' в 'Makefile'. Некоторые варианты требуют компиляции дополнительных файлов. Для компиляции KAngband'a и KAmband'a вы длжны добавить файл 'bld.o' после 'z-util.o' в OBJS-секции вашего Makefile'a.
  4. Запуск компилятора: Запустите MAKE из директории с исходниками и игнорируйте все предупреждения (warnings). Компиляция должна пройти без ошибок (Errors) и новый Angband.exe автоматически скопируется в вашу Angband-директорию.
  5. Тест нового Angband'a: Запустите Анг с ключем -g и если усе работает, значит у вас все получилось!!

Windows 95/98/NT & Visual C++

от Paul Murray

Для создания Виндовской весии вам понадобиться Windows-расширение.

Подготовка
Скопируйте все файлы из "c:\ext-win\src" в "c:\angband-283\src"
Скопируйте "c:\ext-win\lib\xtra" вместо "c:\angband-283\lib\xtra".
И последнее,копируйте "c:\ext-win\Angband.ini" в "c:\angband-283\Angband.ini".
Измените 564'ую строку файла 'util.c' так:
return (open(buf, O_CREAT | O_EXCL | O_WRONLY | O_BINARY,_S_IWRITE));
Идите на верх файла и после строчки #include "angband.h"
вставьте:
#include <sys/stat.h>
Если вы используете звуки и музыку, то добавте winmm.lib в Build->Settings>Link>Object/Library modules

Используем Visual C++ 4.0 и выше

Идем в File->New->Project Workspace. Выбираем Application, прописываем Name для Анга, и Directory "c:\angband-283" или где он у вас лежит. Выбираем Insert->Files Into Project. Идем в директорию с исходниками, добавляем все кроме main*.* Потом добавляем main-win.c и main.c , остальные main-*.* не нужны. Теперь компилируем: Build->Build Angband.exe.
Для игры нужна директория Lib из стандартной поставки Анга


Windows 95/98/NT & Borland C++

от Roger Browne

Подготовка:
Скопируйте все файлы из "c:\ext-win\src" в "c:\angband-283\src"
Скопируйте "c:\ext-win\lib\xtra" вместо "c:\angband-283\lib\xtra".
И последнее,копируйте "c:\ext-win\Angband.ini" в "c:\angband-283\Angband.ini".
Замените 564'ую строку файла 'util.c' :
return (open(buf, O_CREAT | O_EXCL | O_WRONLY | O_BINARY));
на return (open(buf, O_CREAT | O_EXCL | O_WRONLY | O_BINARY,S_IWRITE));
Идите на верх файла и после строчки
#include "angband.h"
вставьте:
#include <sys/stat.h>

Редактируем h-config.h : разкоментируем все #define относящиеся к Windows.

Используем Borland C++ 5.x
Создаем новый прект: File\New\Project\
Выбираем:
Project Path and Name = c:\angband-283\ang
Traget Type = Application(.exe)
Platform = Win32
Target Model = GUI

Ставим: Options-\Project-\Message Stop After Warning = 255
Cделать output dir c:\angband-283
Убираем из проекта файлы по умолчанию (.cpp, .rc, .def)
Идем в директорию с исходниками, добавляем все кроме main*.* Потом добавляем main-win.c и main.c , остальные main-*.* не нужны.
Добавляем 'resource node' angband.rc

Правим "c:\angband-283\Angband.ini" :
Вставляем в него строчку "LibPath=c:\angband-283\lib".
Cоздаем директории: "c:\angband-283\lib\info", "\bone", "\apex", "\save" and "\data".

И компилируем!


Linux & gcc

от Robert Ruehlmann

  • Установите исходники командой "tar -zxf angband-lastversion-src.tar.gz"
  • Если вам нужна графика в X11, то понадобится еще и ftp://export.andrew.cmu.edu/angband/Extra/angband-291-graf.zip
  • Теперь перейдите в директорию angband/lib/src и перейменуйте файл makefile.std в makefile. Он уже настроен на поддержку консоли (через ncurses) и X11. Если вас это не устраивает напустите на него текстовый редактор и подберите другие опции из списка
  • Выполните "make install", и расслабтесь на некоторое время
  • Если вы не хотите настроить Angband для работы с несколькими пользователями, то все готово, иначе:
  • Вы должны иметь эквивалент прав root. Выполните "chown games angband", "chmod +xs angband" и "chmod -R games lib". Это даст игре возможность игре записыать в свою директорию lib записи, очки, настройки итп, что не смогут сделать пользователи.

    ----------