Это на данный момент не предусмотрено.
А еще вопрос Если я выложу логи и дамп можно определить из за чего краши идут?
Лучше, логи, сейв (оба), описание как повторить и все это на багтрекер. И все это конечно в идеале на английском, но если вдруг совсем никак можешь написать на русском и я переведу.
Тут просто надо понимать что многие баги уже известные и на трекере висят, просто по тем или иным причинам дожидаются своего часа. Но шансы найти что-то новое есть всегда т.к все играют по разному и в разные карты.
Запускаю игру… все норм… нажимаю новая игра и сразу вылетает… что делать?
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?
Для поддежржки других разрешений надо ставить отдельный мод через лаунчер 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
Там не всё так чисто с этим ебилдом надо приписать к нему awk который будет выпиливать из мейкфайла проверку на наличие в системе fuzzylite и найти способ заставить линкер вязать не на системную либу, а на ту, которая идёт с кодом. А пока там просто костыль в виде проверки на наличие в системе fuzzylite и выхода с ошибкой если он есть.
PS: И да, самый простой способ проблему решить это ручками его скачать, распаковать и положить в ~/.local/share/vcmi/Mods/
download.vcmi.eu/mods/repository/vcmi.zip
А вот за это огромное спасибо, теперь можно начать играть
По поводу fuzzylite - может быть с кем нибудь из разработчиков вместе попробуем разобраться, что не так с либой, устанавливаемой в систему? Мне нужны инструкции к действию. Могу попробовать запостить в багтрекер, но с языком всё грустно.
По поводу fuzzylite - может быть с кем нибудь из разработчиков вместе попробуем разобраться, что не так с либой, устанавливаемой в систему?
Ну мы и есть разработчики.
Насколько я понимаю проблема прежде всего в том, что fuzzylite это не libstdc++ или SDL2 со стабильным ABI и кодом, а потому если VCMI не будеть юзать свою версию, то есть вероятность что что-то сломается. При этом из-за того за что собственно отвечает либа (нечеткая логика, решения ИИ) понять что оно сломалось не так просто. Более того оно ранее при обновлении на новую версию либы именно так и ломалось, к частью сам автор fuzzylite помог пофиксить.
Тратить время на отслеживание изменений в fuzzylite тут никто особо желанием не горит, тем более что часть разработчиков сидит на винде, а я на Ubuntu 14.04 где fuzzylite вообще нет в репозиториях.
SXX, может тогда имеет смысл в мейкфайле сделать отвязку от системного fuzzylite и собирать/линковать во всех случаях собственную?
SXX, может тогда имеет смысл в мейкфайле сделать отвязку от системного fuzzylite и собирать/линковать во всех случаях собственную?
Конечно имеет, но для этого мне придется нормально разобраться с CMake. Если пришлешь патчик с радостью его потестирую на убунте, проверю чтобы ничего не ломал и замержу.
А так конечно запишу себе в список задач по cmake на будущее, т.к у меня давно есть желание переделать там несколько мест дабы можно было депы при сборке для винды из под линукса линковать статически (но не все).
PS: В Cmake такую штуку конечно надо пилить опцией, т.к для реп того же дебиана надо системные библиотеки использовать. Но гемор по сборке и совместимости там лежит на майтейнере, а не на нас.
Если пришлешь патчик с радостью его потестирую на убунте
Боюсь, мои познания в cmake бедны до безобразия. Я обошёлся простым костылём:
trunk\vcmi\AI\CMakeLists.txt:
-find_package(Fuzzylite)
+#find_package(Fuzzylite)
Игра собралась и запустилась при любых условиях - как при наличии FL в системе, так и при её отсутствии. Просто воткнул эту радость в ебилд и пойду выложу в оверлей.
Эта идея для будущего на годы вперед (возможно уже и озвученная). Пока говорить об этом оооооочень рано, но все же было бы очень круто если б была возможность
искать игроков и коннектится прямо в игре!!
Интересно насколько сложно это реализуемо…
искать игроков и коннектится прямо в игре!!
С этого места попродробнее:) Ничо не поянял.
я сейчас без компа, скрин вставить поэтому не могу. Имел ввиду : новая игра - многопользовательская - и там где менюшка хотсит, тср ip итд кажется вторая кнопка снизу “игра по интернету” . так вот, в идеале сделать эту кнопку активной, чтобы ее нажать и увидеть список комнат открытых игр. Играть с людьми через саму игру это круто. Без всяких хамач, геймрейнджеров итд. В идеале, если будет исключена возможность читерства еще и сделать рейтинг. Ну это конечно вообще на грани фантастики)))
т.к будут ли люди массово для игры и будет ли сама игра в играбельном состоянии.
я сейчас без компа, скрин вставить поэтому не могу. Имел ввиду : новая игра - многопользовательская - и там где менюшка хотсит, тср ip итд кажется вторая кнопка снизу “игра по интернету” . так вот, в идеале сделать эту кнопку активной, чтобы ее нажать и увидеть список комнат открытых игр. Играть с людьми через саму игру это круто.
Пока даже в планах нет. Об этом можно будет думать когда обчный мультиплеер будет стабилен.
Ну, собственно, это и была идея на будущее)
Это все не настолько сложно реализовать когда будет играбельно.