Campaign freeze and save conversion


#1
  1. I try to play the first campaign and when I finish the first game(lose or win doesn’t matter) the game freezes. I’m using Manjaro Linux and I tried the snap version and vcmi-git from aur.
  2. Is possible to convert a save file from windows to vcmi and the other way around?
  3. If I use a save file from android to linux is working fine, but if is the other way around is no longer visible on android.

#2

Campaigns broken now


#3

Not only campaings. After winning single map, game also freezes :frowning:


#4

can someone tell me if there any tools for save file conversion from windows to vcmi and the other way around?


#5

There is no need to convert saves, they should work on any platform.


#6

I think the question was to convert original saves to vcmi format. As far as I know there is no way for this.


#7

yes, I was referring to convert from original saves to vcmi format. Thanks for answer.
@AVS I tried a save file from linux to android and is not visible on load screen on android.
I also put a save file from android to linux and is working fine.


#8

The freeze problem on victory seems to go away by commenting out this part from CPlayerInterface.cpp:

            if(CSH->howManyPlayerInterfaces() == 1 && !settings["session"]["spectate"].Bool()) //all human players eliminated
	{
		if(adventureInt)
		{
			GH.terminate_cond->setn(true);
			adventureInt->deactivate();
			if (GH.topInt() == adventureInt)
				GH.popInt(adventureInt);
			adventureInt.reset();
		}
	}

It doesn’t seem to break anything else too badly either… Someone who actually knows how things work should have a closer look.


#9

Sorry, but… where is CPlayer Interface.cpp?
Thanks in advanced


#10

It should be in the /vcmi/client/ folder when compiling from source. (/vcmi/client/CPlayerInterface.cpp)

Do note that while this dirty fix solves the freeze on victory, there still seem to be some shenanigans going on in the background.

I think the real issue is more on the vcmiserver side, and this workaround just ensures that the player client doesn’t stay stuck while waiting for some interaction with the server.

Still, at least like this I was able to progress from one campaign scenario to the next. Though in one of the campaigns, I did get some weird behaviour relating to which heroes were carried over from one scenario to the next. I don’t know if it’s related.

Finally, I haven’t touched VCMI in the last two months, so I don’t know if I’m still up to date.

Have fun :slight_smile: