Как сделать требуемую сборку?

OpenTTD - современная игра, клон Transport Tycoon Deluxe с открытым исходным кодом, написанный на C и С++. Содержит ряд ключевых улучшений и возможность игры по сети. На данный момент это главное направление развития игры.

Модераторы: eraserkry, Mihamster, Smoky555, Группа модераторов

Как сделать требуемую сборку?

Сообщение Alver » Сб мар 03, 2007 00:59

Всем привет!

Ситуевина такая - хочу посмотреть как народ резвится на кооперативном сервере: http://openttdcoop.ppcis.org/wiki/index.php/Main_Page

Посмотрел - у них сервер имеет версию 8082. Ок, обновился до ревизии 8082. Собрал - а меня нифига в игру не пускает, говорит что версия не та. В основном меню игры вверху написано OpenTTD norev000.

Как получить требуемую ревизию 8082?
Alver
Диспетчер
Диспетчер
 
Сообщения: 173
Зарегистрирован: Чт фев 01, 2007 11:51

Сообщение Quark » Сб мар 03, 2007 01:38

OpenTTD norev000 — это пишется, если при сборке не была прописана информация о версии, в основном это случается в MSVS2005, в линуксе это делает скрипт.

Как самому собрать сборку подробно описано в http://wiki.openttd.org/index.php/Micro ... _C_Express или http://wiki.openttd.org/index.php/Compiling_on_MinGW

Вкратце:
1) установить TortoiseSVN
2) скачать требуемую версию исходников
3) установить компилятор
4) скачать нужные библиотеки для компилятора
5) запустить компилятор

Если хотите, чтобы вас пускало на сервер, еобходимо прописать версию в файле network.c, если для компиляции использовалась среда MinGW, то это будет сделано автоматически.
¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯¯
ⓤⓐⓡⓚ ⓤⓢⓛⓞⓝ
Аватара пользователя
Quark
Президент
Президент
 
Сообщения: 628
Зарегистрирован: Пт сен 08, 2006 01:17
Откуда: Москва

Сообщение Alver » Сб мар 03, 2007 01:54

я собираю под 2003-ей студией. полез в вики :)

в 8082 нет файла network.c
Alver
Диспетчер
Диспетчер
 
Сообщения: 173
Зарегистрирован: Чт фев 01, 2007 11:51

Сообщение DarkFenX » Сб мар 03, 2007 02:05

Надеюсь, я объясню понятнее... :)
Go-go network.cpp (кварк привык к сишному имени, все же сравнительно недавно перевели), ищем строку
>>> extern const char _openttd_revision[] = WITH_REV_HACK;
Заменяем на что-то типа
>>> extern const char _openttd_revision[] = "r666";
Я не помню как точно оформляется, сам посмотри в сборках с оффа.
И пропиши в командах препроцессора (в опциях проекта, в ц/цпп настройках - там будет длинная строка), отделив от предыдущих точкой с запятой, "WITH_REV_HACK".
Изменять строку норев тоже можно, но не советовал бы - только если сам проверишь код на наличие побочных эффектов, а они могут быть имхо как раз при игре по сетке.
- It's hot as hell in here.
- You see it too? For me, it's always like this.
Аватара пользователя
DarkFenX
Директор
Директор
 
Сообщения: 303
Зарегистрирован: Сб окт 28, 2006 12:50
Откуда: Russia, Saint-Petersburg

Сообщение Alver » Сб мар 03, 2007 02:09

ага. пасиб большое. уже нашел сам :)
Alver
Диспетчер
Диспетчер
 
Сообщения: 173
Зарегистрирован: Чт фев 01, 2007 11:51


Вернуться в Общие вопросы по OpenTTD

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и гости: 2