VCMI 0.73 - Bug reports

Nice! I think I’ll do it. Just say how :slight_smile:

It’s fixed now ;). But the issues with spell immunities aren’t over, in the original H3 creatures with immunities weren’t 100% resistant. They couldn’t be targeted and with mass spells they were simply ignored. Personally though, I think it looks prettier with the resistance effect.
Also there should be a message when all creatures that could be affected by a spell are immune to it.

Not exactly (perhaps “calculation” was the wrong word used). The estimations are actually a feature that I understand it may take some time to implement.

But before estimations, I believe it’s easier and more useful to implement the known values of the inflicted damage (post-strike), or of the to-be-inflicted damage for spells.

More exactly, for battle logs I was referring to the info displayed at the bottom after the creature has been hit (by another or by spell), giving info about both the Health damage as well as number of creatures perished:

As for spells, I was referring to the damage information we are given if we r-click on them in the spell book:

These would make it easier for testers to compare the VCMI damage with the H3 one, to check if the formulas seem correct (for example it would have helped us to easier spot that bug we’ve had with spell damage tripled - instead of just vaguely reporting “spell damage seems too high”)

Actually damage really inflicted by creatures are displayed in the console (you have to scroll up to see it). Furthermore, I’ve already implemented calculation of expected damage (although it does not take into account some creature abilities like champion’s charge). I’ll try to implement the same for spells (inflicted and estimated damage).

I’m almost sure that current formula of damage calculation is not the same as in Hereos 3, I’m going to reorganize it.

It’d be great, but it won’t be as easy as puzzle map or walls. I’ll add new entry in obstacles’ config for shift in position and increase the amount of obstacles in the battlefield but you’d have to run many battles using VCMI, recognize which obstacles are present (there is a list of all of them in documentation of ERM) and put in the config how much to the left / right / top / bottom the obstacle should be moved. Some other information in the config may also be wrong such as terrains the obstacle may be placed on. I’ll talk about it with Tow and post more details.

I understood: i need to run about 3-5 battles for each terrain in VCMI (and to make result more accurate, in H3 as well). That will take a time :slight_smile:

Can you give me a link? At the moment, I have only actual pics from resources and obstacles.txt from VCMI.

As far as I know, I will need to run some battle in VCMI (and make screens),then do same in H3, and compare positions of the same obstacles. Yes?

not only position of obstackles but hex mapping of locked/unlocked tiles also

AFAIK this is already present. In obstacles.txt we already have:
[id] [Def name] [blockmap] [allowed terrains]
This info looks to be correct. But I’ll check it as well :wink:

I ve seen the wrong creature turn order ater wait - if we have creatures with same speed: i had some stacks of 1 imp and after wait they got turn ascending(on battlefield lower creatures first then upper) but in H3 creatures with same speed get turn the same way like before wait - in descending oreder(upper first)

the similar principle is wrong with the turn order of allies and enemies with the same speed - in H3 in first round of battle first goes attacker’s upper unit then defender’s upper unit then second attacker’s unit and so on(in the second turn defenders upper unit goes first then first attackers unit then second defenders and so on)
in VCMI we have ALL our (attackers) units going before any defender’s unit.

I’m sorry for duplicating issues (i have read quite carefully all of bug threads, maybe missed some issues), however only the 2nd part of post is a dupe, the 1st one is NEW (i hope) - that is about wrong creatures order after wait (but they both probably related to one coded model and will be fixed together) - pHOMM

#75 - Minor issue: we can exit the client interface w/o scrolling the map if CTRL is pressed, but if we access any application while we are out (e.g.: open a screen capture tool), when we come back, even if CTRL is still pressed, the map scrolls when we pass over the Client edge (thus we lose focus on the exact image we wanted to capture for example).

Same bug as #40 ver. 0.72c

[size=75]*It did seem somewhat familiar. Thanks for pointing that out. I removed back the log #. :wink:


Fixed, thanks for examples.


This (and several other random, not reproducible crashes) problem may be caused by buggy mp3 player.
(at least it’s the only possibility I found)

I use foobar2000. Maybe it is somehow connected. I’ll try to observe it in future.

No, it’s not that. I meant libraries used by VCMI for playing mp3 music (SDL_mixer / SMPEG). I had been observing crashes and hangups too but since I disabled music support they seem to be gone.
We’ll have to look for another mp3 playing library.

I can think of fmod and OpenAL. fmod might be easiest.

Oh. I’m silly boy :wink: I’ve got it. Thx for “brightening” my mind!

But I have recently music and effects turned off. So i.e. crash #73 shouldn’t happened because it was caused by smpeg.dll. Am I wright? Or this is still my poor knowledge about VCMI and programing.

FMOD is not compatible with GPL. (no source code, free only for non-commercial use)
OpenAL doesn’t handle mp3, it needs to be decoded first.

The only fitting library I found is Audiere. I’ll try it.

Effects are working fine, only music causes problems. But I fear that disabling it in VCMI options won’t help. It only makes the music mute but I guess it’s still played silently in background. (so restoring volume can work)

in GPL is fragment about "common used libraries"
it says those can be used with GPL code even if they’re not opensource

(is FMOD common used library by terms of GPL?)

if there’s nothing better we can use directx (no doubt it classifies as common used library)

DirectX is not portable.

So I said “if there’s nothing better”

I think if we can we should get MP3 decompression library not the MP3 playing library (so after decompression we can play it with something that stick the current code - SDL_mixer OpenAL or whatever)

there almost no open source library on MP3 because of licences AND patents. So if we use OpenSource library which haven’t the patent VCMI will become illegal in countries that respect this pattent. And if we use patented library - it’s almost sure that it will be closed on the source. So we rather have to use something which gets under “common used library” (or whatever close code freeware library which applies the minor part of licence about exceptions in licensing of parts)

what about ffdshow? it uses libmad/mp3lib/libavcodec