OpenTTD 1.0.5 — общественная сборка

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

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

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Anon » Ср июл 18, 2012 22:35

Ghost писал(а):Дело не только в патче.

Мы люди умелые, у меня в Mac OS X всё собирается и запускается.

Ghost писал(а):Также для сборки в MSVS следует учесть, что в конструкции вроде

Код: Выделить всё
template <typename Tbase, typename Tspec, typename Tobj, typename Textra, uint16 (*GetCallback)(CallbackID callback, uint32 param1, uint32 param2, const Tspec *statspec, Tobj *st, TileIndex tile, Textra extra_data)>
struct AnimationBase {...

TileIndex tile следует заменить на TileIndex *tile, как прямо указано в справке по MSVS в описании соответствующей ошибки компиляции, ну не переваривает студия структуры в шаблонах, только указатели. Соответственно, местами тоже придется понаставить звездочек, а местами - амперсантов.

Это учтём.
Andrej писал(а):
Код: Выделить всё
[SRC] Compiling command.cpp
c:/source_cb/cb-1.2.1/src/command.cpp: In function 'CommandCost DoCommandPIntern
al(TileIndex, uint32, uint32, uint32, void (*)(const CommandCost&, TileIndex, ui
nt32, uint32), const char*, bool, bool)':
c:/source_cb/cb-1.2.1/src/command.cpp:677:4: error: cannot pass objects of non-t
rivially-copyable type 'TileIndex {aka struct TileIndexT<MainMap>}' through '...
'
c:/source_cb/cb-1.2.1/src/command.cpp:677:4: warning: format '%x' expects argume
nt of type 'unsigned int', but argument 6 has type 'TileIndex' [-Wformat]
make[1]: *** [command.o] Error 1
make[1]: Leaving directory `/c/source_cb/cb-1.2.1/objs/release'
make: *** [all] Error 1

Видать, тоже звёздочка или амперсанд нужен (что там у нас в сях за передачу поссылке отвечает?).
Anon
Диспетчер
Диспетчер
 
Сообщения: 246
Зарегистрирован: Вт ноя 25, 2008 20:14

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Ghost » Ср июл 18, 2012 23:44

Anon писал(а):Мы люди умелые, у меня в Mac OS X всё собирается и запускается.

Дык, а то... :wink:

Anon писал(а):Видать, тоже звёздочка или амперсанд нужен (что там у нас в сях за передачу поссылке отвечает?).

Если в параметрах процедуры поставить TileIndex *tile, то далее по телу везде через * надо обращаться (хотя опять же местами подумать надо), а при вызове такой процедуры надо через & переменную передавать. Хотя в данном случае, возможно, tile нельзя использовать в качестве параметра, а нужно использовать tile->index.

Странно. Исходников, на которые патч Clipboard накатывал, перед глазами нет, но, судя по файлу патча, в этом месте ничего не менялось, и в студии оно точно не выдает ошибку в этом месте. Возможно, это сообщение будет выведено потом неправильно, но оно для отладки, после сборки в режиме release оно недоступно.
Ghost
Директор
Директор
 
Сообщения: 385
Зарегистрирован: Сб сен 26, 2009 00:21
Откуда: Рыбинск

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Hotel » Чт июл 19, 2012 13:31

Народ, ну так кто-нибудь соберёт под Windows?
Hotel
Машинист
Машинист
 
Сообщения: 26
Зарегистрирован: Вт сен 21, 2010 14:32

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение kraks » Чт июл 19, 2012 13:52

Anon писал(а):Сделал на основе версии 1.2.1. Вошли все патчи до minimap, за исключением...

Неплохо бы это в отдельную тему вынести и сделать оттуда ссылку на эту тему, а то в этой уже слишком много страниц.
Аватара пользователя
kraks
Президент
Президент
 
Сообщения: 889
Зарегистрирован: Вт окт 03, 2006 01:05
Откуда: Москва

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение kraks » Чт июл 19, 2012 14:01

Hotel писал(а):Народ, ну так кто-нибудь соберёт под Windows?

Так не собирается жеж... У меня под MinGW такая же ошибка, как у Андрея.
Аватара пользователя
kraks
Президент
Президент
 
Сообщения: 889
Зарегистрирован: Вт окт 03, 2006 01:05
Откуда: Москва

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Andrej » Чт июл 19, 2012 19:17

Hotel писал(а):Народ, ну так кто-нибудь соберёт под Windows?

Только спокойствие))) Я надеюсь, что в течение месяца все устаканится. Или ты думаешь, что мы сами не хотим поиграть?))
kraks писал(а):Так не собирается жеж... У меня под MinGW такая же ошибка, как у Андрея.

Я думал, что у меня с мингв что - 3 раза переустанавливал))) а оказывается, что не один я такой))
Пожалуйста, не обращайтесь ко мне на ВЫ.
Аватара пользователя
Andrej
Директор
Директор
 
Сообщения: 303
Зарегистрирован: Вт май 25, 2010 16:39
Откуда: Россия Самара

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Cliff » Чт июл 19, 2012 23:25

Ребят, извиняюсь, наверное, не там задаю вопрос, но:
как устанавливать файлы в игру типа
Timetable based separation patch
Cargo distribution
Patch: Grass growth on unused tracks
Странный формат *.patch. Я привык видеть grf. Недавно только познакомился с игрой. Заворожила. Помогите, пожалуйста
Cliff
Пассажир
Пассажир
 
Сообщения: 3
Зарегистрирован: Ср янв 06, 2010 23:01

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение kraks » Пт июл 20, 2012 08:50

Никак. Патч - это дополнительный си-шный код (попробуй открыть файл .patch текстовым редактором - сам увидишь). Его надо накладывать на исходный код игры и компилировать игру. Именно поэтому все сидят и ждут новую сборку. Если умеешь программировать - вперед. :D Попробуй ХардПак из соседней темы (ссылка в первом посте той темы), там 2 из 3-х твоих патчей есть. Ну а без травы на рельсах можно и обойтись. Зато там других полезных патчей куча.
Аватара пользователя
kraks
Президент
Президент
 
Сообщения: 889
Зарегистрирован: Вт окт 03, 2006 01:05
Откуда: Москва

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Ghost » Сб июл 21, 2012 21:39

Andrej писал(а):
Hotel писал(а):Народ, ну так кто-нибудь соберёт под Windows?

Только спокойствие))) Я надеюсь, что в течение месяца все устаканится. Или ты думаешь, что мы сами не хотим поиграть?))
kraks писал(а):Так не собирается жеж... У меня под MinGW такая же ошибка, как у Андрея.

Я думал, что у меня с мингв что - 3 раза переустанавливал))) а оказывается, что не один я такой))

Попробовал собрать под MSVS2005. Сначала обычные ошибки установки патча Clipboard. Судя по всему, утилита patch накатила изменения не туда, куда стоило бы их накатить (файлы переехали). Исправил. Затем еще пара из той же оперы. Затем пошла геометрическая прогрессия: кучка ошибок - исправил. Затем куча, в том числе, ошибки линковки - видимо, где-то прототипы и реализации не совпадают. Плюнул на это дело...
Ghost
Директор
Директор
 
Сообщения: 385
Зарегистрирован: Сб сен 26, 2009 00:21
Откуда: Рыбинск

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Andrej » Вс июл 22, 2012 17:18

А дайте мне список патчей, которые были использованы в сборке + прямую ссылку на тортилку. попробую сам собрать.
Но если что и получится - то оно появится в моей теме.
Пожалуйста, не обращайтесь ко мне на ВЫ.
Аватара пользователя
Andrej
Директор
Директор
 
Сообщения: 303
Зарегистрирован: Вт май 25, 2010 16:39
Откуда: Россия Самара

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Anon » Пн июл 23, 2012 17:29

Другой исходник, собирающийся под линуксом: http://rghost.ru/39371886.
Что интересно, пришлось внести правку, кторая уже не позволяет слинковать под Mac OS X. Если поправить под неё, не линкуется под Линуксом.
Anon
Диспетчер
Диспетчер
 
Сообщения: 246
Зарегистрирован: Вт ноя 25, 2008 20:14

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Andrej » Пн июл 23, 2012 18:56

под виндой выбивает такую ошибку:
Код: Выделить всё
[SRC] Compiling console_cmds.cpp
c:/source_cb1.2.1/cb-1.2.1/src/console_cmds.cpp: In function 'int DoVehicleCommand(const Vehicle*, VehicleCommand, int, char**)':
c:/source_cb1.2.1/cb-1.2.1/src/console_cmds.cpp:2765:27: error: 'tolower' was not declared in this scope
c:/source_cb1.2.1/cb-1.2.1/src/console_cmds.cpp: In function 'bool str_isprefix(const char*, const char*)':
c:/source_cb1.2.1/cb-1.2.1/src/console_cmds.cpp:2911:47: error: 'tolower' was not declared in this scope
c:/source_cb1.2.1/cb-1.2.1/src/console_cmds.cpp: In function 'void ConMatchTypeHelp(const StringInfo<MatchType>*, size_t, const char*, int)':
c:/source_cb1.2.1/cb-1.2.1/src/console_cmds.cpp:3040:59: warning: format not a s
tring literal, argument types not checked [-Wformat-nonliteral]
make[1]: *** [console_cmds.o] Error 1
make[1]: Leaving directory `/c/source_cb1.2.1/cb-1.2.1/objs/release'
make: *** [all] Error 1

Компилирую в мингв
Пожалуйста, не обращайтесь ко мне на ВЫ.
Аватара пользователя
Andrej
Директор
Директор
 
Сообщения: 303
Зарегистрирован: Вт май 25, 2010 16:39
Откуда: Россия Самара

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Anon » Пн июл 23, 2012 20:41

Подозреваю, что не последняя правка:
http://rghost.ru/39386696
Последний раз редактировалось Anon Вт июл 24, 2012 14:10, всего редактировалось 1 раз.
Anon
Диспетчер
Диспетчер
 
Сообщения: 246
Зарегистрирован: Вт ноя 25, 2008 20:14

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Andrej » Пн июл 23, 2012 21:13

:(
Код: Выделить всё
[SRC] Compiling console_cmds.cpp
c:/cb-1.2.1/cb-1.2.1/src/console_cmds.cpp: In function 'int DoVehicleCommand(const Vehicle*, VehicleCommand, int, char**)':
c:/cb-1.2.1/cb-1.2.1/src/console_cmds.cpp:2765:30: error: invalid conversion from 'char' to 'char*' [-fpermissive]
c:/cb-1.2.1/cb-1.2.1/src/network/core/../../string_func.h:45:6: error:   initializing argument 1 of 'bool strtolower(char*)' [-fpermissive]
c:/cb-1.2.1/cb-1.2.1/src/console_cmds.cpp: In function 'void ConMatchTypeHelp(const StringInfo<MatchType>*, size_t, const char*, int)':
c:/cb-1.2.1/cb-1.2.1/src/console_cmds.cpp:3040:59: warning: format not a stringliteral, argument types not checked [-Wformat-nonliteral]
make[1]: *** [console_cmds.o] Error 1
make[1]: Leaving directory `/c/cb-1.2.1/cb-1.2.1/objs/release'
make: *** [all] Error 1
Пожалуйста, не обращайтесь ко мне на ВЫ.
Аватара пользователя
Andrej
Директор
Директор
 
Сообщения: 303
Зарегистрирован: Вт май 25, 2010 16:39
Откуда: Россия Самара

Re: OpenTTD 1.0.5 — общественная сборка

Сообщение Anon » Вт июл 24, 2012 14:10

Поправил:
http://rghost.ru/39386696
Anon
Диспетчер
Диспетчер
 
Сообщения: 246
Зарегистрирован: Вт ноя 25, 2008 20:14

Пред.След.

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

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

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

cron