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
Видать, тоже звёздочка или амперсанд нужен (что там у нас в сях за передачу поссылке отвечает?).