Документация по ОС FreeBSD Вторник, 17.06.2025, 20:34
Приветствую Вас Гость | RSS
Меню сайта

Категории каталога
Мои статьи [0]
Установка и настройка [281]
X Window [25]
Man pages [30]
Ports & Packages [26]
cvs [18]
Multimedia [20]
Нововсти в мире Unix [0]
RFC [4]
RFC (Request for Comments, Запрос на комментарии) - серия документов, публикуемая сообществом исследователей и разработчиков, руководствующихся практическими интересами, в которой описывается набор протоколов и обобщается опыт функционирования Интернет.
Безопасность [52]
Работа с железом [58]
Книги по FreeBSD [17]
Сеть [505]
Программирование [40]
FireWall [58]
Темы экзамена BSDA [14]
Официальные темы экзамена BSDA, включая подробноые описания и советы по обучению.

Главная » Статьи » Установка и настройка

JA2 во FreeBSD [2010]
Много лет назад, когда я ещё жил в общежитии университета, у нас ещё не было ни локальной сети, ни Интернета. Тогда мы с соседями убивали время за играми... Мне особенно нравились различные RPG и пошаговые стратегии. Одной из таких игр была Jagged Alliance 2. Довольно неплохая игра для того времени.

Я обнаружил её в портах FreeBSD, и что интересно, сейчас она уже распространяется с открытым исходным кодом. Захотелось посмотреть, как она будет выглядеть сейчас. Установка игры из порта games/jaggedalliance2 не вызвала никаких сложностей. Проблему вызвало только отсутствие файлов ресурсов игры - карты, озвучка, ролики и т.п. Они в состав порта не входили. Нужны были оригинальные диски с игрой. Диски когда-то у меня были (я покупал 1С-овскую "Gold" версию), но вот найти их мне не удалось, смутно припоминалось, что возможно я подарил их племяннику жены...

Ну что ж.. После успешной установки сдаваться так просто не хотелось, немного погуглив :) я нашёл нужные мне исошники. Скачал, но опять же на них ресурсы были запакованы инсталлятором. Пришлось 
воспользоваться компьютером жены с Windows, где я и установил игру. :)

После этого я создал на своём ZFS пуле новый датасет установиви свойствоcasesensitivity в значение insensitive для того чтобы не возникло проблем с регистром символов в именах файлов и каталогов:

> sudo zfs create -o casesensitivity=insensitive -o mountpoint=/usr/local/share/ja2 zroot/data

И скопировал с компьютера жены каталог Data в созданный датасет. После этого запустил из коммандной строки ja2, игра тут же закрылась и в домашнем каталоге создался подкаталог ~/.ja2 в котором я отредактировал файл ~/.ja2/ja2.ini и указал там путь к файлам ресурсов:

#Tells ja2-stracciatella where the binary datafiles are located
data_dir = /usr/local/share/ja2

Но игра и в этот раз не запустилась, ругнувшись на файлы ресурсов... Посмотрев в содержимое архива с исходниками я обнаружил, что там в параметрах make упоминается RUSSIAN_GOLD, которого нет среди опций порта. А ведь ISO'шки с игрой у меня были именно версии Gold. Я быстренько поправил Makefile порта добавив ещё одну опцию RUSSIAN_GOLD и пересобрал игру. Запустив новый бинарник игра запустилась в окошечке и вполне неплохо выглядела. По Alt+Enter она может разворачиваться на полный экран и обратно.


После этого я решил оформить патч и отправить PR для внесения изменений в порт. Патч получился таким:

--- jaggedalliance2/Makefile     2009-06-14 12:41:39.000000000 +0400
+++ jaggedalliance2/Makefile     2010-02-01 08:27:31.825416359 +0300
@@ -7,6 +7,7 @@
 PORTNAME=       ja2
 PORTVERSION=    0.12
+PORTREVISION=   1
 CATEGORIES=     games
 MASTER_SITES=   http://deponie.yamagi.org/freebsd/distfiles/ \
                 http://tron.homeunix.org/ja2/
@@ -34,7 +35,8 @@ OPTIONS=       DUTCH   "Compile for Dutch versio
                 GERMAN  "Compile for German version (choose ONE)"       Off \
                 ITALIAN "Compile for Italian version (choose ONE)"      Off \
                 POLISH  "Compile for Polish version (choose ONE)"       Off \
-                RUSSIAN "Compile for Russian version (choose ONE)"      Off
+                RUSSIAN "Compile for Russian version (choose ONE)"      Off \
+                RUSSIAN_GOLD "Compile for Russian Gold version (choose ONE)"    Off
 .include 
@@ -52,6 +54,8 @@ MAKE_ARGS+=    LNG=ITALIAN
 MAKE_ARGS+=     LNG=POLISH
 .elifdef WITH_RUSSIAN
 MAKE_ARGS+=     LNG=RUSSIAN
+.elifdef WITH_RUSSIAN_GOLD
+MAKE_ARGS+=     LNG=RUSSIAN_GOLD
 .else
 IGNORE= no language has been chosen. Please choose the appropriate language for your game CD
 .endif

Вроде все изменения тривиальные и объяснять нечего... Сам PR можно посмотретьздесь. Через три недели патч был одобрен и изменения были внесены. Такая большая задержка получилась из-за ожидания ответа мэйнтейнера, который так и не ответил...


Источник: http://bu7cher.blogspot.com/2010/02/ja2-freebsd.html
Категория: Установка и настройка | Добавил: oleg (13.04.2010) | Автор: bu7cher
Просмотров: 735 | Рейтинг: 0.0/0 |
Всего комментариев: 0
Добавлять комментарии могут только зарегистрированные пользователи.
[ Регистрация | Вход ]
Форма входа

Beastie

Друзья сайта

Статистика

Онлайн всего: 4
Гостей: 4
Пользователей: 0
links

Copyright MyCorp © 2025