Development version 0.97c

Hello adventuring heroes! We present you newest development version 0.97c. We continue polishing VCMI as well as adding final features.

Download VCMI 0.97c (Windows)
For Linux see wiki page

Enjoy new spells, World View function, improved RMG and much better overall stability.
Pathfinder now can find its way through two-wayMonoliths seemlessly. Also, AI will use Monoliths as well. This should help it act correctly on most of maps.

Savegame format changed. Saves from 0.97 or 0.97b won’t work in 0.97c.

Installation

We recommend you first make a copy of clean Heroes Complete / Shadow of Death folder. Extract VCMI zip package there.
WoG is not needed. All recommended mods and files can be downloaded via Launcher included in the package.

Changelog:

List of bugs resolved in 0.97c here.

Please report missing libraries or other files in this thread.

Please report any found bugs and issues on Mantis bugtracker.

Many thanks for all programmers and supporters who contributed to this build.

Package updated, added missing files and removed old libraries.

VCMI get’s better and better, it’s nice to see some progress! This release has some really interesting features like the long missing view air/earth, visions and disguise spells. Additionally the fade out effect when picking resources is awesome. The AI turn speed has improved a lot from what I see so far.

Sadly that Java killed my interest in C++, although it would be fun again to fix 1 or 2 smaller mantis tickets.

So don’t stop working!

beegee what do you mean with that Java killed your interest in c++?
I am trying too learn c++ now, you prefer java?

Main concern is that C++ does not have automatic garbage collection and it’s possible to reference already destroyed objects. C++ is designed to fulfill all possible tasks and you get a lot of tools to do so with the cost of increased complexity. In addition there are numerous things I really like in Java (Stacktrace, IDE support, Plattform independent - no recompilation,…) and don’t want to miss in my daily work. Nevertheless it’s not bad to learn C++ as it has a lot of unique features.

Sorry for offtopic, it’s better to discuss new release of VCMI =)

But C++ is much more faster works than interpreted languages. If VCMI was written on Java, it have been slower by 5 times and eated all memory on any device :imp:
And then i couldn’t do nothing - i don’t know Java and my tries to understand it were not good:shock:
VCMI works with graphics, so no other language can do no good i think.

About release - hadn’t tried it yet due to lack of time.
Hope today will make backup copy of folder and then try it.

PS Any chance in future for VCMI to use configs not in /User/My Games directory, but as it was in earlier versions - /config?
It’s boring to turn mods on and off.
I want to make few copies with different mods in mod folder. But this Windows-way prevents me from just running exe in choosen copy.

It woudl be great if you could help with underground patterns on RMG maps:
bugs.vcmi.eu/view.php?id=1859

I don’t know how to generate them correctly and you’re the only one who understands how does that code work :v

That looks like a nice issue! :smiley:

OK, will try to fix it. Just started several times random map generation with underground, but couldn’t achieve any “unknown pattern” or game crash. With which options should I start the map?

This is not related to RMG, this is a bug in terrainview patterns.

That’s because underground rock is disabled in current version and his is hardcoded. CRmgTemplateZone::createObstacles has some option for that.

Once you generate underground with rock (preferable L/XL), need to scroll it a bit to find faulty pattern.

I see now adventure map spells are implemented some way.
Spell granting morale on map worked.
But still spell granting LAND_MOVEMENT/MOVEMENT ///is not working////
works, but movement is applied at start of next day not in current day:

{
	"armyHaste":
	{
		"type": "adventure", 
		"name": "Army Haste",
		"school":
		{
			"air": true,
			"earth": false,
			"fire": false,
			"water": false
		},
		"level": 2,
		"power": 10,
		
		"defaultGainChance": 3, 
		"gainChance":
		{
			"castle": 5
		},
 
		//counterstrike animation?
	
 
		"flags" : {"indifferent": true},
 
		//graphics - OPTIONAL; object;
		"graphics":
		{
			"iconBook": "FlyingBoots/back0.bmp",
			"iconScroll": "FlyingBoots/back1.bmp",
			"iconScenarioBonus": "FlyingBoots/back2.bmp",
			"iconEffect": "FlyingBoots/back3.bmp"
		},

		
		"targetType": "NO_TARGET",
 
		"levels":
		{
			"none":
			{
				"description": "Gives hero +1 land movement",
	 
				"cost": 8,
				"power": 10,
				"aiValue": 5,
				"range": "X",
	
				"targetModifier":{"smart":false},
	 
				"effects":
				{
					"attacks":
					{
						"type": "MOVEMENT",
						"val": 100,
						"duration": "ONE_DAY",
					},
//					"morale":
//					{
//					"type":"MORALE",
//					"val":1,
//					"duration":"ONE_DAY"
//					}
				}
			},
			"basic":
			{
				"description": "Gives hero +1 land movement",
	 
				"cost": 8,
				"power": 10,
				"aiValue": 5,
				"range": "X",
	
				"targetModifier":{"smart":false},
	 
				"effects":
				{
					"attacks":
					{
						"type": "MOVEMENT",
						"val": 100,
						"duration": "ONE_DAY",
					},
//					"morale":
//					{
//					"type":"MORALE",
//					"val":1,
//					"duration":"ONE_DAY"
//					}
				}
			},
			"advanced":
			{
				"description": "Gives hero +2 land movement",
	 
				"cost": 9,
				"power": 10,
				"aiValue": 5,
				"range": "X",
	
				"targetModifier":{"smart":false},
	 
				"effects":
				{
					"attacks":
					{
						"type": "MOVEMENT",
						"val": 200,
						"duration": "ONE_DAY",
					},
//					"morale":
//					{
//					"type":"MORALE",
//					"val":1,
//					"duration":"ONE_DAY"
//					}
				}
			},
			"expert":
			{
				"description": "Gives hero +3 land movement",
	 
				"cost": 10,
				"power": 10,
				"aiValue": 5,
				"range": "X",
	
				"targetModifier":{"smart":false},
	 
				"effects":
				{
					"attacks":
					{
						"type": "MOVEMENT",
						"val": 300,
						"duration": "ONE_DAY",
					},
//					"morale":
//					{
//					"type":"MORALE",
//					"val":1,
//					"duration":"ONE_DAY"
//					}
				}
			}
		}
	}
 
}

That’s because movement range bonus and actual movement points are two completely separate things. Same goes for mana points, counterstrikes, shots and other limited actions.

OK, you are right. Then Army Haste will work from next day, it’s a cool spell :mrgreen:

Will test adventure spells possibilities.
Am I right, that only summon spells are not implemented yet to allow custom creatures to be summoned?

which git commit was released as 0.97c? I cannot see a commit message or tag indicating this.

You post there make me think that we need to enable SDL2 for debian build rules. Is it fine for debian builds?

To figure out whether or not problems arise with the upcoming release is exactly why I wanted to know the exact commit :slight_smile:

SDL2 has been packaged for a long time (since 2012) - do you see any possible problems upfront?

Last revision for 0.97c was github.com/vcmi/vcmi/commit/a1d … 3b1d22242f

Minor releases are not tagged, there are meant for internal usage and testing. Which doesn’t mean they can’t be good :wink:

No I doubt there can be any problems, but decide to ask you as months ago when I asked Ivan why deb build have SDL1 used he said there may be reason related to Debian packages.

Anyway we don’t really support SDL1 as there several issues with fading so I doubt there will be worse problems than that. If you think it’s okay then we may change debian rules:
github.com/vcmi/vcmi/blob/develop/debian/rules

SDL1 in debian rules is only for support some old distributions. Ask @Ivan for more information.

For the record, 0.97c builds fine in Debian. I was able to drop all four patches (as they were applied by you) and now the only difference between vcmi in Debian and yours is the default for autoCheckRepositories which is set to false in Debian because of privacy reasons. Thanks!