Сборка Quake 2 XP в Linux

Подготовка к сборке

Для сборки Quake 2 XP под Linux кроме самих исходниковпотребуются следующие библиотеки:

  • OpenGL
  • SDL
  • OpenAL
  • DevIL
  • Vorbis

В Ubuntu (и её производныз) для установки вышеперечисленных либ в эуляторе терминала наберите следуюущее:

sudo apt-get install build-essential libvorbis-dev libdevil-dev libsdl1.2-dev libopenal-dev subversion

Сборка

Будут установлены необходимые библиотеки, а также компилятор GCC и сопутствующие утилиты, при помощи которых и будет происходить сборка.

Кроме этого потребуется интерпретатор Python для системы сборки waf, но в 99% десктопных Linux-дистрибутивов питонуже в наличии "из коробки".

Получамем исходники из SVN:

svn co https://quake2xp.svn.sourceforge.net/svnroot/quake2xp quake2xp

В каталоге quake2xp три директории:

  • glsl - шейдеры
  • tools - утилиты для компиляции карт
  • trunk - собственно сам исходный код , именно в этот каталог и переходим для процесса сборки.

Сборка состоит из трех этапов - конфигурирование, собственно процесс компиляции бинарников и (опционально) установки.

python waf configure
python waf
sudo python waf install

Последний этап выполняется при помощи sudo, только втом случаее, если установка происходит не в домашнюю директорию пользователя (например /home/username/q2xp). по умолчанию именно так и происходит - путь установки "/usr/local". Его можно изменить, указав явно на этапе конфигурации сборки.

python waf configure --prefix=$HOME/q2xp
python waf
python install

Это выполнит сборку и установку в директорию q2xp в домашнем каталоге текущего пользователя.

Если надо деинсталлировать Quake 2 XP, то в каталоге с исходными текстами выполнить в эмуляторе терминала команду:

python waf uninstall

Копирование файлов с игровым контентом

Перед запуском необходимо скопировать pak-файлы с текстурыами, моделями, картами и прочим игровым контентом.

  • baseq2/pak0.pak файл с оригинального CD Quake II.
  • каталог baseq2 из последнего официального патча q2-3.20-x86-full.exe (*.dll файлы копировать не нужно)
  • каталог baseq2 со всем содержимым(кроме *.dll) из официального установщика Quake 2 XP, который можно распаковать при помози архиватора 7zip.
  • из каталога с шейдерами, полученного из SVN перед сборкой, копируем все файлы в каталог baseq2/glsl (создав последний, если он отсутствует).

(необязательно) Оригинальный саундтрек Quake 2 в формате ogg можно взять здесь. Треки надо скопировать в каталог baseq2/music, имена файлов должны быть вида trackNN.ogg, где NN - 02, 03, etc.

Официальные адд-оны

Установка официальных аддонов ("xatrix" и "rogue") заключается в копировании соответствующих каталогов в основной каталог Q2XP - "$PREFIX/share/quake2xp" (если Quake 2 XP был установлен в /usr/local, то каталоги "xatrix" и "rogue" будут лежать в "/usr/local/share/quake2xp").

Запуск аддонов осуществляется просто quake2xp + set game (например quake2xp + set game xatrix).

Саундтрек аддонов можно найти по ссылке выше, вместе с треками оригинального Quake 2. Копировать необходимо в "music" директории адд-она. Правила именования треков аналогичны оригиналу.

И прочие моды

Процесс установки других модов практически идентичен оному для официальных мишн-паков. В основномм каталоге с данными quake2xp создаем директорию мода (на одном уровне с baseq2, xatrix, rogue) и складываем внеё необходимые ресурсы. За исключением gamex86.dll.

Если имеется клиентская библиотека мода, собранная под Linux (gamex86.so в общем случаее) просто переименовываем её в game.so и стартуем Q2XP с выбором каталога нужного мода. Но для архитектур x86 и x86_64 необходимы разные бинарники, так что если у вас game.so 32-битной версии, на 64-битной архитектуре ничего не запуститя.

В этом случаее только сборка game.so под нужную архитектуру из сиходников мода (если они конечно в наличии).

Примечания

Фреймрейт (количество кадров в секунду) по умолчанию не ограниченно. Но его можно принудительно ограничеить, при помози консольной переменной "cl_maxfps", выставв нужное значение (например "cl_maxfps 60").

В случае, если у вас возникли задержки звука, попробуйте выбрать "PulseAudio", а не
"ALSA" в качестве звукового устройства в меню настроек.

Воспроизведение музыки возможно в трех режимах (переключемых через меню или при помощи консольной переменной s_musicsrc, принимающей значения от 0 до 3.

  • disabled (s_musicsrc 0) - без воспроизвения музыки.
  • CD_ROM s_musicsrc 1) - воспроизводит трекси с CD-диска, находяшегося в CD-приводе.
  • soundtrack files s_musicsrc 2) - воспроизводить OGG\WAV-файлы с именем "baseq2/music/trackXX.EXT" (где XX это 02, 03 и т.д.). Они будут использоваться в качестве оригинальных CD-треков (различных для каждого уровня).
  • any files (s_musicsrc 3) - воспроизводит любые OGG\WAV-файлы, найденые в каталоге "baseq2/music".

Переключение треков осуществляется при помощи консольной команды "music".

Обсуждение Linux-версии Quake 2 XP на форуме

Всего комментариев: 0