Russian thread

ревизия 3799 и не должна работать под линуксом-не было обновления cmakelists. сорри.
3800 и 3801 уже должны работать. если опять свалится будем разбираться. Или это уже 3801 глючит?

" Error: Heroes III data was not found! " вот это скорее к Ивану, чем ко мне. [r3798] - (linux) XDG filesystem support, как раз связано с путями к файлам.

KroArtem, Герои были куда установлены? В глобальную папку (что-то вида /usr/share/vcmi) или в пользовательскую (~/.vcmi)?

Если последнее - то нужно их перебросить. Запусти vcmiclient -v - данные теперь считываются с user data (что-то вида ~/.local/share/vcmi). Туда скопируй папки Data, Maps, Mods, Sprites (если есть).

Гляну почему vcmi не запускается - идея была в том, чтобы старую конфигурацию некоторое время поддерживать.

ревизия 3499. Ну, видимо, это 3799, в ппа по крайней мере пакет так называется.

3798 нормально работала, это точно.

А блин, я ж вчера удалил ~/.vcmi, чего удивляться-то :slight_smile:

Edit: нет, все равно не работает. Положил Maps, Data в ~/.local/share/vcmi, не запускается. Герои были в локальной папке раньше.

Кстати, краш после "Error: Heroes III data was not found! " - это баг. (Вызывается exit() - dispose() - в котором CCS->musich->release(); но CCS еще не создан к этому моменту.)

KroArtem, с тем же сообщением про Heroes 3 data not found? В папке Mods там тоже необходимые файлы есть.

Небольшой чеклист - в папках /usr/share/vcmi или ~/.local/share/vcmi должны быть эти файлы:

  • Data/H3Bitmap.lod (из Героев)
  • Mods/vcmi/mod.json (идет с бинарниками)
  • Mods/vcmi/Data/QuestLog.pcx (из “мода” vcmi)

AVS, исправлю)

Вот этих нет.

  1. Должен идти с бинарниками. Перепроверь что валяется в /usr/share/vcmi/Mods/vcmi - должен ставиться из деб-пакета.

  2. Ставиться или автоматом через vcmibuilder или можно вручную стащить тут:
    download.vcmi.eu/core.zip

Угу, поставил через vcmibuilder, но за эти несколько ревизий вы опять поломали совместимость с сохраненными играми (вчера только новую кампанию начал, а сегодня она уже не работает).

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

Да я без претензий. :slight_smile:

В логах ничего необычного. Подозреваю, vcmi + matlab + tex + firefox и остальные программы просто выжрали всю память. А упала только vcmi :slight_smile:
[hide]
iled to realize subgoal of type BUILD (greater goal type was BUILD), I will stop.
The error message was: BUILD has been realized as much as possible.
Looking into Тамика, MP=1066
Of all 2 destinations, object oid=1237 seems nice
Тамика will try to visit Дидвуд, Крепость at (23 19 0)
Moving hero Тамика to tile 23 19 0
reserved object id=1237; address=140736351652384; name=Дидвуд, Крепость
Hero Тамика moved from 20 26 0 to 24 24 0. Returning 0.
Hero Тамика apparently used all MPs (0 left)
Looking into Нагаш, MP=1500
Of all 1 destinations, object oid=804 seems nice
Нагаш will try to visit Храм (Не посещено) at (15 22 0)
Moving hero Нагаш to tile 15 22 0
Hero Нагаш moved from 22 21 0 to 15 22 0. Returning 1.
Looking into Катберт, MP=1560
Of all 1 destinations, object oid=421 seems nice
Катберт will try to visit Камень знаний
(Опыт +1000 один раз для каждого героя)

(Не посещено) at (3 17 0)
Moving hero Катберт to tile 3 17 0
Adding query 2788 - Hero Катберт got level 2. Total queries count: 1
[New Thread 0x7fffe1a4e700 (LWP 8750)]
terminate called after throwing an instance of 'boost::exception_detail::clone_impl<boost::exception_detail::error_info_injectorboost::lock_error >'
what(): boost: mutex lock failed in pthread_mutex_lock: Invalid argument

Program received signal SIGABRT, Aborted.
[Switching to Thread 0x7fffe1a4e700 (LWP 8750)]
0x00007ffff3cb2f77 in __GI_raise (sig=sig@entry=6)
at …/nptl/sysdeps/unix/sysv/linux/raise.c:56
56 …/nptl/sysdeps/unix/sysv/linux/raise.c: Нет такого файла или каталога.
(gdb) bt
#0 0x00007ffff3cb2f77 in __GI_raise (sig=sig@entry=6)
at …/nptl/sysdeps/unix/sysv/linux/raise.c:56
#1 0x00007ffff3cb65e8 in __GI_abort () at abort.c:90
#2 0x00007ffff45be6e5 in __gnu_cxx::__verbose_terminate_handler() ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#3 0x00007ffff45bc856 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#4 0x00007ffff45bb919 in ?? () from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#5 0x00007ffff45bc4ca in __gxx_personality_v0 ()
from /usr/lib/x86_64-linux-gnu/libstdc++.so.6
#6 0x00007ffff40537f3 in ?? () from /lib/x86_64-linux-gnu/libgcc_s.so.1
#7 0x00007ffff4053d27 in _Unwind_Resume ()
from /lib/x86_64-linux-gnu/libgcc_s.so.1
#8 0x00007fffe2cd2275 in ~thread_exception (this=0x7fffe1a4dbd0,
__in_chrg=) at /usr/include/boost/thread/exceptions.hpp:60
#9 ~lock_error (this=0x7fffe1a4dbd0, __in_chrg=)
at /usr/include/boost/thread/exceptions.hpp:117
#10 boost::unique_lockboost::mutex::lock (this=this@entry=0x7fffe1a4dd20)
at /usr/include/boost/thread/lock_types.hpp:337
#11 0x00007fffe2cd26bf in ~lock_on_exit (this=,
__in_chrg=)
at /usr/include/boost/thread/pthread/condition_variable.hpp:52
#12 boost::condition_variable::wait (this=0x7fffdeffb9f8, m=…)
at /usr/include/boost/thread/pthread/condition_variable.hpp:74
—Type to continue, or q to quit—
#13 0x00007fffe2ca260b in wait (this=0x7fffdeffb9d0)
at /usr/include/boost/thread/barrier.hpp:49
#14 operator() (__closure=0x7fff9d559238)
at /build/buildd/vcmi-0.95+svn3500~ubuntu13.10.1/AI/VCAI/VCAI.cpp:2420
#15 boost::detail::thread_data<VCAI::requestActionASAP(std::function<void()>)::__lambda28>::run(void) (this=0x7fff9d559080)
at /usr/include/boost/thread/detail/thread.hpp:117
#16 0x00007ffff6aa394a in ?? ()
from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.53.0
#17 0x00007ffff6882f6e in start_thread (arg=0x7fffe1a4e700)
at pthread_create.c:311
#18 0x00007ffff3d769cd in clone ()
at …/sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb)
[/hide]

Edit: видимо, так и было. Не воспроизвелось.
P.S. а тега спойлера/hide у форума случаем нет?

Сохранил игру, вступил в битву, проиграл, попробовать загрузить игру - сегфолт.

Loading procedure started!
[New Thread 0x7fffdeffc700 (LWP 22867)]
Setting up thread calling server: 0
Loading lib part of game...
	Reading header
	Reading options
Desync found! Position: 121682
	Reading handlers
	Reading gamestate
Loaded common part of save 740
	Preparing FoW, roads, rivers,borders: 40
	Making object rects: 20
Initing maphandler: 60
Opening VCAI
Loaded VCAI
Opening VCAI
Loaded VCAI
Opening StupidAI
Loaded Stupid AI 0.1
Loaded client part of save 100
Waiting for server: 70
Establishing connection...
Found endpoints:
	0: 127.0.0.1:3030
Trying connection to 127.0.0.1:3030  (0)
Established connection with VCMI 0.95 (server)
	Connecting to the server: 0
Server opened savegame properly.
Sent info to server: 10
[New Thread 0x7fffe0a4c700 (LWP 22871)]
[Thread 0x7fffe224f700 (LWP 22866) exited]

Program received signal SIGSEGV, Segmentation fault.
[Switching to Thread 0x7fffe0a4c700 (LWP 22871)]
0x00000000006ef9f2 in CTerrainRect::showPath (this=this@entry=0x7fffbe2bd118, 
    extRect=extRect@entry=0x7fffbe2bd168, to=to@entry=0xe1c180)
    at /build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/CAdvmapInterface.cpp:140
140	/build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/CAdvmapInterface.cpp: Нет такого файла или каталога.
(gdb) bt
#0  0x00000000006ef9f2 in CTerrainRect::showPath (
    this=this@entry=0x7fffbe2bd118, extRect=extRect@entry=0x7fffbe2bd168, 
    to=to@entry=0xe1c180)
    at /build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/CAdvmapInterface.cpp:140
#1  0x00000000006f012d in CTerrainRect::show (this=this@entry=0x7fffbe2bd118, 
    to=to@entry=0xe1c180)
    at /build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/CAdvmapInterface.cpp:272
#2  0x00000000006f0341 in CAdvMapInt::show (this=0x7fffbe2bc290, to=0xe1c180)
    at /build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/CAdvmapInterface.cpp:758
#3  0x00000000006f5e00 in CAdvMapInt::showAll (this=0x7fffbe2bc290, 
    to=0xe1c180)
    at /build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/CAdvmapInterface.cpp:679
#4  0x00000000005890d4 in CGuiHandler::totalRedraw (
    this=this@entry=0xa38ae0 <GH>)
    at /build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/gui/CGuiHandler.cpp:150
#5  0x000000000058ae0b in CGuiHandler::pushInt (this=0xa38ae0 <GH>, 
    newInt=0x7fffbe2bc290)
    at /build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/gui/CGuiHandler.cpp:---Type <return> to continue, or q <return> to quit---
115
#6  0x000000000067ef6a in CPlayerInterface::playerStartsTurn (
    this=0x7fffb1a19998, player=...)
    at /build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/CPlayerInterface.cpp:2578
#7  0x0000000000756f71 in YourTurn::applyCl (this=0x7fffbcbe7bf0, 
    cl=0x7fffb0764330)
    at /build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/NetPacksClient.cpp:789
#8  0x000000000061e609 in CClient::handlePack (this=this@entry=0x7fffb0764330, 
    pack=0x7fffbcbe7bf0)
    at /build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/Client.cpp:530
#9  0x000000000061e990 in CClient::run (this=0x7fffb0764330)
    at /build/buildd/vcmi-0.95+svn3505~ubuntu13.10.1/client/Client.cpp:167
#10 0x00007ffff6aa494a in ?? ()
   from /usr/lib/x86_64-linux-gnu/libboost_thread.so.1.53.0
#11 0x00007ffff6883f6e in start_thread (arg=0x7fffe0a4c700)
    at pthread_create.c:311
#12 0x00007ffff3d779cd in clone ()
    at ../sysdeps/unix/sysv/linux/x86_64/clone.S:113
(gdb) 

Из ошибок в логе только это:

Воспроизвести не удалось.

Ты вступил в битву и полностью gg? Если да то теоретически я понял как это могло быть, и если я прав, то загруpка игры сразу после проигрыша должна этот баг воспроизводить (правда еще может быть пакость с многопоточностью …)

Я понял, что проиграю и сбежал из битвы.

На полноценный багрепорт не тянет, поэтому просто оставлю это здесь (откопано на 4pda, видимо версия 0.95):

Явно баг со всякими там колбэками если не фейк :slight_smile:

Возвращаюсь к вопросу.
А как запустить 2 копии героев на одном компе? у них же по идее будут проблемы с сохранениями

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

Катапульта вообще не работает (в этом сейве). Комп напал, но она так ни разу и не выстрелила. Поставил цитадель, тоже самое. Битву проводил вручную, сидел в городе.
katapult.rar (521 KB)

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

Отстой. :slight_smile: И два артефакта Перчатки всадника тоже можно? а то я вчера так и сделал.