Russian thread

Не подскажите, как собрать VCMI под Linux, чтобы он за DATA_DIR считал текущую папку с бинарником? Чтобы как на Windows было все в одной папке.
Пробовал

cmake ../vcmi-src -DCMAKE_BUILD_TYPE=Debug -DDATA_DIR=.

Не помогает. При компиляции предупреждает:

In file included from <command-line>:0:0:                                                   
/usr/include/stdc-predef.h:59:1: warning: /home/1/vcmi/build/lib/cotire/vcmi_CXX_prefix.hxx.gch: not used because `M_DATA_DIR' defined as ` "/usr/local/."' not ` "/usr/local/share/vcmi"' -Winvalid-pch]
 #endif
 ^

Симлинки дело не решат, т.к. хочу одновременно иметь две рабочие версии VCMI с разными наборами DATA_DIR.

Спасибо!

Не видел ниче подобного (или не обращал внимания прежде) чтобы это могло значить?
Saves.rar (742 KB)


Похоже на эльфийский язык (согласно Толкиену).

Гонка за вывод в консоль - два (или даже больше) тескста смешались.

В консоль текст посимвольно выводится, а не строкой целиком?
Больше похоже на генератор эльфийских слов :mrgreen:

Если герой сидит в замке (цитаделе, форте) то нет, не захватывает.

Играли с другом по сетке, произошел вылет в один момент, решили загрузиться, но… При нажатии на “загрузить игру” нет возможности подключиться другу! Хотя в оригинале так можно было делать!

К сожалению интерфейс для загрузки игры по сети пока ещё никто не делал. Теоретически есть возможность загрузится через опции командной строки, но я не проверял работает оно или нет.

Дак вообще капец обидно) играли час и все… в итоге даже не доиграть…

Ну я уже дописал, что сама загрузка вроде как есть и как грузится описано в комментах к релизу 0.97, так что стоит попробовать.

PS: На всякий случай загрузка хотсита (не игры по сети) работает через менюшку нормально.

Спасибо за 0.98e. Достаточно стабильно работает. Протестили по сети, правда после нападения на замок последнего противника вышел краш :slight_smile: но все таки!
А может кто подскажет как поменять папку с сохранениями? А то игра кидает все в документы

Это на данный момент не предусмотрено.

А еще вопрос :slight_smile: Если я выложу логи и дамп можно определить из за чего краши идут?

Лучше, логи, сейв (оба), описание как повторить и все это на багтрекер. И все это конечно в идеале на английском, но если вдруг совсем никак можешь написать на русском и я переведу.

Тут просто надо понимать что многие баги уже известные и на трекере висят, просто по тем или иным причинам дожидаются своего часа. Но шансы найти что-то новое есть всегда т.к все играют по разному и в разные карты.

Запускаю игру… все норм… нажимаю новая игра и сразу вылетает… что делать?

Starting... 
Creating console and configuring logger: 14
The log file will be saved to "/home/rom4ik/.cache/vcmi/VCMI_Client_log.txt"
	 Initialization: 7
	 Data loading: 63
	Mod handler: 0
	 Mod filesystems: 42
Basic initialization: 112
Initialized logging system based on settings successfully.
Loading settings: 114
VCMI 0.98 (client)
Found 3 render drivers
	opengl (active)
	opengles2
	software
Created renderer opengl
	Initializing screen: 53
	Initializing video: 1
Initializing screen and sound handling: 1
		Bonus type handler: 6
		General text handler: 18
		Hero handler: 2
		Artifact handler: 0
		Creature handler: 0
		Town handler: 0
		Object handler: 0
		Object types information handler: 0
		Spell handler: 0
		Terrain view pattern handler: 0
	Initializing handlers: 28
	Initializing content handler: 87 ms
		[83374c1f] Original game files
		[d275088f] VCMI essential files
		[6fc0c625] In The Wake of Gods
		[fe89086e] WoG russian translation
		[e051da0f] Commanders
		[37094ab7] Stack Artifacts
		[f97d1e33] Stack Experience
		[9a893d8d] WoG russian translation
	Parsing mod data: 74 ms
		[SKIP] Original game files
		[SKIP] VCMI essential files
		[SKIP] In The Wake of Gods
		[SKIP] WoG russian translation
		[SKIP] Commanders
		[SKIP] Stack Artifacts
		[SKIP] Stack Experience
		[SKIP] WoG russian translation
	Loading mod data: 58ms
	Resolving identifiers: 23 ms
No templates found for 70:0
No templates found for 172:0
No templates found for 186:0
No templates found for 189:0
	Handlers post-load finalization: 12 ms
	All game content loaded in 256 ms
		Template handler: 259
Initializing VCMI_Lib: 288
Loading and transforming heroes' flags: 44
Screen handler: 48
	Main graphics: 30
Initializing game graphics: 79
Message handler: 2
Initialization of VCMI (together): 718
Blocking buttons from 1
Setting up thread calling server: 0
No templates found for 70:0
No templates found for 172:0
No templates found for 186:0
No templates found for 189:0
Waiting for server: 57
Establishing connection...
Found endpoints:
	0: 127.0.0.1:3030
Trying connection to 127.0.0.1:3030  (0)
Established connection with VCMI 0.98 (server)
	Connecting to the server: 1
	Will send info to server...
	Sending/Getting info to/from the server: 9
	Creating gamestate: 0
	Using random seed: 1447429663
Open map file: MAPS/BACK FOR REVENGE
Map loaded!
	Our checksum for the map: 3938981429
Seed after init is 1458606001 (before was 1447429663)
Initializing GameState (together): 127
Creating mapHandler: 0
	Preparing FoW, roads, rivers,borders: 23
	Making object rects: 176
Initializing mapHandler (together): 202
Player 1 will be lead by VCAI
Opening VCAI
Error: /usr/lib/x86_64-linux-gnu/vcmi/AI/libVCAI.so: undefined symbol: _ZN2fl4Rule5parseERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKNS_6EngineE
Cannot open dynamic library ("/usr/lib/x86_64-linux-gnu/vcmi/AI/libVCAI.so"). Throwing...
terminate called after throwing an instance of 'std::runtime_error'
  what():  Cannot open dynamic library
read: Connection reset by peer
Ended handling connection
Аварийный останов (сделан дамп памяти)
rom4ik@night:~$ Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
Warning: an orphaned child!
write: Broken pipe

Cannot open dynamic library ("/usr/lib/x86_64-linux-gnu/vcmi/AI/libVCAI.so")
Не может открыть либу с ИИ . Без нее никак.

Error: /usr/lib/x86_64-linux-gnu/vcmi/AI/libVCAI.so: undefined symbol: _ZN2fl4Rule5parseERKNSt7__cxx1112basic_stringIcSt11char_traitsIcESaIcEEEPKNS_6EngineE

Сборка кривая.

Аналогичная проблема: libVCAI.so: undefined symbol: _ZN2fl13InputVariableC1ERKSsdd

ОС Gentoo (ядро x86 с включеным PAE), пробовал собирать из портежа (есть ебилд к одной из старых редакций 0.98), после попробовал ручную сборку согласно инструкции на Wiki. Опции cmake: -DCMAKE_INSTALL_PREFIX=/home/kacnep/vcmi/trunk/install -DENABLE_LAUNCHER=OFF

Проблема абсолютно аналогична и идентична. Подозреваю, какая то из библиотек-зависимостей имеет проблему (например, необходима пересборка и перелинковка после обновления ядра), либо в коде игры закопан баг, например, где то пробрались зависимости от Ot5 за пределы кода лаунчера (а лаунчер отключен именно по причине жёстких зависимостей от Qt5).

Буду рад любой помощи. Написать в английскую ветку могу только при помощи переводчика, т.к. языком не владею, поэтому сначала пишу сюда.

edt: из логов, которые сохраняет игра в ~/.cache/vcmi/ информативным оказался только VCMI_Client.log. Вот последние записи перед крешем:

2015-Nov-19 11:52:25.478525 TRACE global [afb25b40] - 	Human player interface for player 0 being constructed
2015-Nov-19 11:52:25.478593 TRACE global [afb25b40] - 	Initializing the interface for player 0
2015-Nov-19 11:52:25.539607 TRACE network [afb25b40] - Preparing interface for player 1
2015-Nov-19 11:52:25.539717 INFO network [afb25b40] - Player 1 will be lead by VCAI
2015-Nov-19 11:52:25.539808 INFO global [afb25b40] - Opening VCAI
2015-Nov-19 11:52:25.582016 INFO global [afb25b40] - Loaded VCAI
2015-Nov-19 11:52:25.582284 TRACE ai [afb25b40] - Entering VCAI::VCAI().
2015-Nov-19 11:52:25.582322 TRACE ai [afb25b40] - Leaving VCAI::VCAI().
2015-Nov-19 11:52:25.582374 TRACE global [afb25b40] - 	Initializing the interface for player 1
2015-Nov-19 11:52:25.582418 TRACE ai [afb25b40] - Entering virtual void VCAI::init(std::shared_ptr<CCallback>).

Итак, в продолжение написанного. Долгие копания во всех направлениях привели к следующему. Игра успешно собирается во всех случаях, но

  • если fuzzylite установлен в системе (пробовались версии 5.0 и 5.1 с гитхаба) - то вылетает эта вот ошибка, которая описана в предыдущих постах мной и RoM4iK;
  • если fuzzylite из системы удалить - то игра соберёт собственный (!) fuzzylite, который приложен вместе с ней в исходниках. И уже вместе с ним будет замечательно запускаться

В исходниках игры приложен fuzzylite версии 5.0 (согласно ChangeLog`у), и он собирается в статик-либу. Всё это жутко странно, сравнивать диффом исходники я не стал.

Таким образом, решение вопроса найдено. Для гентушников я подготовил ебилд (в личку или в почту).

И теперь возник СЛЕДУЮЩИЙ ВОПРОС: в процессе ковырятельств со сборкой, я всётаки установил launcher и появилась возможность менять настройки. Первым же делом я попробовал сменить разрешение, но получил в VCMI_Client_log.txt вот такое содержание:

2015-Nov-21 03:03:46.274859 INFO global [b4541a40] - Loading settings: 207
2015-Nov-21 03:03:46.274917 INFO global [b4541a40] - VCMI 0.98f (client)
2015-Nov-21 03:03:46.568485 INFO global [b4541a40] - Found 2 render drivers
2015-Nov-21 03:03:46.568598 INFO global [b4541a40] -    opengl (active)
2015-Nov-21 03:03:46.568660 INFO global [b4541a40] -    software
2015-Nov-21 03:03:46.568724 ERROR global [b4541a40] - Selected resolution 1440x900 was not found!
2015-Nov-21 03:03:46.568974 ERROR global [b4541a40] - Falling back to 800x600
2015-Nov-21 03:03:46.715615 INFO global [b4541a40] - Created renderer opengl
2015-Nov-21 03:03:46.719877 INFO global [b4541a40] -    Initializing screen: 99
2015-Nov-21 03:03:46.720201 INFO global [b4541a40] -    Initializing video: 0
2015-Nov-21 03:03:46.729792 INFO global [b4541a40] - Initializing screen and sound handling: 1

Not implemented feature? :slight_smile:

Для поддежржки других разрешений надо ставить отдельный мод через лаунчер vcmi/extraResolutions.

На счет фузилайта “наша” версия изменений не содержит (но может наверное отличаться от какого-то конкретного оф. релиза), а так да 5.0. В дебиане fuzzylite отдельный пакет и все типа нормально работает.

Выкладывай сразу на github/gist. Кому надо найдет.

Там с этим модом только все очень хитро на линуксе потому как он является субмодом VCMI который при этом не лежит в гите даже. Лаунчер после обновления репозиториев по-идее должен предлагать обновить его, но вот если этот мод у тебя уже где-то в /usr/share/vcmi/Mods лежит то будет фейл.

Короче надо разбираться:
bugs.vcmi.eu/view.php?id=2260

PS: И да, самый простой способ проблему решить это ручками его скачать, распаковать и положить в ~/.local/share/vcmi/Mods/
download.vcmi.eu/mods/repository/vcmi.zip