0.72 bugs and issues

Just found bugs in new version

#1 medium issue
I have seen improper information of building which gives more creatures (ie. mushroom ring) in many castles. On map arrogance3 it looks like they’re builded on town screen, and in Capitol it looks like they’re not builded and can be build again with no crash.

#2 probable a bug, maybe not-a-bug
Multiple capitols present if it’s so set in mapeditor


second post:

#3 minor issue
dendroid arches is not visible when built in rampart town (when griffin bastion, mushroom ring, etc. is visible)


third post:

#4 crashbug
building ammo cart in upgraded blacsmiths (those in barbarians town), makes a crash, and balista is not availible
#4b more about crashbug
it looks like there random (but frequent) crashbugs when new hired hero tries to buy something in blacksmith

save included

EDIT: it happens even from newly started game, playing on arrrogance3


fourth post:

#5 interface issue
when reloading game in normal difficluty, which was rechooosen while starting map, it writes “ormal” not “normal” (maybe save is corrupted but it may not interfere whith this)


5th post:

#6 issue with autosave - logical bug
when starting a map or loading a game, last autosave is replaced, but it should do nothing, or save on new slot. worst when starting new game after plaing another and autosaving them
#6b I’m not sure if it works as I described, anyway there’s caption about autosaving and number of autosaves is the same


6th post:

#7 sound interface issue
when fastly few times ravisited same place there’s the new sound with not ending old sound which causes overlaping, moreover three instances of same sound could be played simultanously (and there’s ugly disonance :P)


7th post:

#8 sound interface issue
when moving units on battle sometimes there’s “ooh” sound even if nothing is attacked
mostly when just standing near opponent


8th post:

#9 interface leak
no infowin on enemies. The infowin is not shown,
and vcmi yells “no infowin for hero xxx” or “no infowin for town yyy”


9th post:

#10 battle interface leak
morale animation shown on wrong place (occurs with archangel, and probably with all double-wide creatures)


10th post:

#11 battle crashbug
when trying attack from side where tile is occupied unit moves and crashing when is next to destination tile


11th post:

#12 new-turn crashbug
I clicked “e” button over and over and it crashed when infowin shown
Month 8 week 2 day 7
it was probably after ending this day, possibbly:
a) the day 1st of 3rd of month 8th couldn’t appear in vcmi - this rather not because on other map i aqquired month 16
b) two last autosaves in row interfere whith each other - most possible
c) gold overflow on this day - this rather not because i got much over 50 milions of gold on my own map (max castles possible for player red)
d) console flood - rather not because i tried flood console with player messages and no crash
e) something other


12th post:

#13 timed event bug
timed event which should be everyday from day 1 occurs in vcmi only once (at day 1)


13th post:

#14 bug with hero overflow

after attached save I hidden hero in garnison, bought hero in other town, hidden in garrison etc. few times and then:
it is possible to hire hero but if doubleclick on him game crashes
possible reasons:
a) reusing same hero for both players
b) simple overcome limit of heroes on map including those garrizoned


14th post:

#15 random hero related bug
when no heroes availible from such town, random heroes should be taken from other town, but such maps don’t even show at mapllist (probably vcmi thinks they’re broken but they’re not)

====
[size=75]Next time I’ll just remove all posts without merging them… please use edit option

Tow dragon[/size]

@tow dragon
I used separate posts for separate issues, but when it was about the same i edited. but I didn’t know that this is bad :unamused:

[size=75]Maybe “bad” is too strong. :slight_smile: It’s just about measure and trying to avoid any post count competitions (which slips under our skins without realizing). :wink: Perhaps, as general guidelines, we should all try to use the Edit button more, and if we really feel like splitting the posts (too long, attachments - like for issue #4 above, etc) we should still limit ourselves at 2 - max.3 - consecutive posts.

Zamolxis[/size]

#16 - The Map Difficulties in the main menu are missing the first capital letters. The displayed values are: “asy”, “ormal”, “ard”, “xpert” and “mpossible” :slight_smile:


#17 - Attacking (2-hex) monster from behind bug, or “How to defeat 1000 Ancient Behemoths with 12 Pikemen”:

Load the attached savegame (on 1024x768 resolution - possibly relevant)
Attack Ancient Behemoths with any of the heroes (maybe split army in more stacks, it will increase the chance to reproduce the bug from first attack)
During the battle, try to place one of your stacks behind the Behemoths
(I’m not sure if it was just a coincidence, but I think I only managed to reproduce it when there was also an obstacle somewhere above the Behemoths)
With a bit of luck, all Behemoth’s attacks and retaliations will focus on the stack behind him AND all the damage will be self-inflicted. :smiley:

I’m not sure, but it’s kinda like the 1st hex of the Behemoth is fighting against its own 2nd hex. :slight_smile: See screenshots & attached logs:

~ Attack Behemoths from Behind 1:

In the first battle I had my Pikemen behind. Screenshots 1 & 2 show in the battle log the result of their first attack & retaliation against my stack. Screenshot 3 shows the crash I had when I moved my Pikemen to attack from below.

i4.photobucket.com/albums/y104/Zamolxis/VCMI/VCMI%2007/th_090603-AttackBehemothFromBehind1a.jpg i4.photobucket.com/albums/y104/Zamolxis/VCMI/VCMI%2007/th_090603-AttackBehemothFromBehind1b.jpg i4.photobucket.com/albums/y104/Zamolxis/VCMI/VCMI%2007/th_090603-AttackBehemothFromBehind1c-M.jpg

~ Attack Behemoths from Behind 2:

This time I managed to get the Archers behind them. I continued until the end to see what happens when last Behemoth remains with no hit points. Instead of it dying, the game froze with the following image (and mouse cursor disappeared with no way of bringing it back in the client interface):

If relevant, the console was showing this (I though this can be found back in the txt logs, but l just noticed the info in there is somehow different):

i4.photobucket.com/albums/y104/Zamolxis/VCMI/VCMI%2007/th_090603-AttackBehemothFromBehind2-Co.jpg
Attack Behemoth From Behind SaveGame.zip (54.6 KB)
Attack Behemoth From Behind 1.zip (7.47 KB)
Attack Behemoth From Behind 2.zip (6.25 KB)

Hi it’s me again

#18_gamedata heroes with arts for luck/morale/parameters if autoequipped as art-bonus at start of game haven’t bonus if loading a game only luck/morale arts don’t give bonus, arts for parameters give them
#19_gamedata we still have income of gold in first day but now from heroes with estates !!! (first were mines and castles)
#20_gamedata as for me better to see actual names of arts on map by hover-hint/right-click but if VCMI be exact like H3 it should show only “artifact”
#21_gamesystem typing “load” in console during paying(map is loaded already) crashes the game, probably some other system words will crash, maybe filter will fit here

#22 - LOW MORALE should not effect to undead.

#23 - LEARNING SECONDARY SKILL - not increase value of gained exp.

#24 - CAPITOL in secondary towns, can not be built (there is info cannot build more then one capitol) but the color of the building is still red, should change into gray.

#25 - game crashes if hero is to close to lower end of the map - see below screenshot, and uploaded game (similar situation I wrote about refered to right side of the map crash in version 0.71 no. #15 )
img269.imageshack.us/img269/5926/clipboard01pnl.th.jpg
games.zip (76.1 KB)

#26 - VCMI Hero Level-Up formula does not correspond to the H3 one*:

[size=67]*Provided that WoG 3.58f does not alter the formula (especially when WoGification is disabled)[/size]

Up to level 12 the values are quite obvious, but after that I can’t figure out what kind of formula they used for calculation. Hopefully somebody will be able to either figure it out, or else retrieve it from the game files. I checked the manuals and googled it a bit, but couldn’t find any such thing.

I’m attaching here the Excel sheet if sb feels like playing around a bit trying different formulas. :stuck_out_tongue:

EDIT: For new visitors browsing this thread - no need to download this attachment. Three posts below you’ll find an updated version with the correct values.
H3 Level Up.zip (3.44 KB)

In all of H3, H4 and modded H5 the formula is that difference increases +20% per level. I guess there was an omission on level 4, where xp required grows only by 100 even though previous level required 200 exp more than last one.

I have found large Russian manual on H3 mechanics. Here is direct link
homm3world.narod.ru/FizMiG.rar (it is on Russian!)

Each hero on start receive random(100) exp.
from lvl 13 difference increase by 20%, rounded down
on lvl 75 - a lot of bugs appear :stuck_out_tongue:

@ Warmonger : You can actually ignore the amounts I marked in red for VCMI (it wasn’t only lvl.4, but also 7 & 10 which did not have a logic bonus). It’s irrelevant now, as the H3 values are all different as of lvl.5 - see attached file - so they will all have to change anyway.

Wow. Whoever created that manual has done an amazing job. Many thanks for the link Ivan! :slight_smile:

It’s just a pity most of it is in Russian, as we could probably make very good use of it also for this project. Anybody saw something similar in English somewhere? Anyway, I exported the sheet with the level up values (sheet 18) in a new file, then used an online translator on it (surprisingly good I must say) and then figured out the formulas I was looking for:

See the attached file for the other levels and all other details related. Regarding the H3 bug occurring at level 75 and later, I think we don’t need to worry about that. First of all most of us will probably never get there anyway and secondly it’s simply a H3 bug. The formula was obviously supposed to remain the same as for all levels above 12.
H3 Level Up.zip (20.7 KB)

27 - Bugs when Scholar wants to teach a Secondary Skill that the hero already knows (reproducible):

27.1. If the hero has the Basic skill already, we get a pop-up saying he now received “Advanced”, however when we open Hero screen we see he actually became Expert.

27.2. If the hero has Advanced already, we get the pop-up saying he received “Expert”, however if we try to open Hero screen, the game crashes.

27.3. If the hero is Expert already, he does get a Primary Skill instead, however if we try to open Hero screen, the game crashes again.

You can easily reproduce all the above by loading the attached map and taking Edric to the Scholars in front of him (he’s set up with the Secondary Skills the Scholars have to offer, at the three different levels). I also saved the crash logs, but I’m pretty sure they won’t be necessary.

[size=75]PS: You can also use the attached map for level-up testing (I’ve locked Astral’s starting Experience at 0 to avoid any confusion regarding the Experience gained from the Trees of Knowledge)[/size]
just testing.h3m (4.54 KB)

28 - Crash when trying to pick up artifact close to the edge of the Deluge map:

i4.photobucket.com/albums/y104/Zamolxis/VCMI/VCMI%2007/th_090607-Delugecrashwhenpickingartifa.jpg

I’m attaching below the logs and the savegame before picking the Pendant of Death, as this bug is not reproducible.

29 - Crash when trying to enter Monolith Two Way on Deluge map. It’s always reproducible - use the same saved game, and go to the Monolith south of your castle (I’m also attaching the logs, not sure if useful).
090607 - Deluge crash when picking artifact at map edge.zip (67 KB)
090607 - Deluge crash when trying to enter Monolith Two Way.zip (5.2 KB)

30 - cannot compile rev 941

[user@1x1linux ~]$ cd trunk
[user@1x1linux trunk]$ LANG=C make
Making all in lib
make[1]: Entering directory `/home/user/trunk/lib'
make[2]: Entering directory `/home/user/trunk'
make[2]: Leaving directory `/home/user/trunk'
make[1]: Nothing to be done for `all'.
make[1]: Leaving directory `/home/user/trunk/lib'
Making all in client
make[1]: Entering directory `/home/user/trunk/client'
g++ -DPACKAGE_NAME=\"vcmi\" -DPACKAGE_TARNAME=\"vcmi\" -DPACKAGE_VERSION=\"VERSION\" -DPACKAGE_STRING=\"vcmi\ VERSION\" -DPACKAGE_BUGREPORT=\"\" -DPACKAGE=\"vcmi\" -DVERSION=\"VERSION\" -DSTDC_HEADERS=1 -DHAVE_SYS_TYPES_H=1 -DHAVE_SYS_STAT_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_MEMORY_H=1 -DHAVE_STRINGS_H=1 -DHAVE_INTTYPES_H=1 -DHAVE_STDINT_H=1 -DHAVE_UNISTD_H=1 -DHAVE_DLFCN_H=1 -DLT_OBJDIR=\".libs/\" -DHAVE_BOOST=/\*\*/ -DHAVE_BOOST_SYSTEM=/\*\*/ -DHAVE_BOOST_FILESYSTEM=/\*\*/ -DHAVE_BOOST_THREAD=/\*\*/ -DHAVE_BOOST_IOSTREAMS=/\*\*/ -DHAVE_LIBSDL=1 -DHAVE_LIBSDL_MIXER=1 -DHAVE_LIBSDL_IMAGE=1 -DHAVE_LIBSDL_TTF=1 -DSTDC_HEADERS=1 -DHAVE_FCNTL_H=1 -DHAVE_STDLIB_H=1 -DHAVE_STRING_H=1 -DHAVE_BOOST_FILESYSTEM_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_REPLACE_HPP=1 -DHAVE_BOOST_FILESYSTEM_OPERATIONS_HPP=1 -DHAVE_BOOST_ASSIGN_STD_VECTOR_HPP=1 -DHAVE_BOOST_ALGORITHM_STRING_FIND_HPP=1 -DHAVE_BOOST_FUNCTION_HPP=1 -DHAVE_BOOST_BIND_HPP=1 -DHAVE_ATEXIT=1 -DHAVE_MEMSET=1 -DHAVE_POW=1 -DHAVE_SELECT=1 -DHAVE_SQRT=1 -I.   -pthread -I/usr/include -O0 -ggdb -Wall -Wcast-align -Wmissing-declarations -Wpointer-arith -I/usr/include/SDL -D_GNU_SOURCE=1 -D_REENTRANT -O0 -ggdb -Wall -Wcast-align -Wmissing-declarations -Wpointer-arith -MT vcmiclient-mapHandler.o -MD -MP -MF .deps/vcmiclient-mapHandler.Tpo -c -o vcmiclient-mapHandler.o `test -f '../mapHandler.cpp' || echo './'`../mapHandler.cpp
../mapHandler.cpp: In function 'void alphaTransformDef(CGDefInfo*)':
../mapHandler.cpp:104: warning: comparison between signed and unsigned integer expressions
../mapHandler.cpp:106: error: void value not ignored as it ought to be
../mapHandler.cpp: In function 'void processDef(CGDefInfo*)':
../mapHandler.cpp:458: error: void value not ignored as it ought to be
../mapHandler.cpp: In member function 'void CMapHandler::init()':
../mapHandler.cpp:495: warning: comparison between signed and unsigned integer expressions
../mapHandler.cpp: In member function 'SDL_Surface* CMapHandler::terrainRect(int, int, int, int, int, unsigned char, std::vector<std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > >, std::allocator<std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > > > >*, bool, unsigned char, SDL_Surface*, SDL_Rect*, int, int, bool)':
../mapHandler.cpp:580: warning: taking address of temporary
../mapHandler.cpp:590: warning: taking address of temporary
../mapHandler.cpp:594: warning: taking address of temporary
../mapHandler.cpp:598: warning: taking address of temporary
../mapHandler.cpp:602: warning: taking address of temporary
../mapHandler.cpp:612: warning: taking address of temporary
../mapHandler.cpp:616: warning: taking address of temporary
../mapHandler.cpp:620: warning: taking address of temporary
../mapHandler.cpp:624: warning: taking address of temporary
../mapHandler.cpp:658: warning: taking address of temporary
../mapHandler.cpp:692: warning: taking address of temporary
../mapHandler.cpp:711: warning: comparison between signed and unsigned integer expressions
../mapHandler.cpp:822: warning: taking address of temporary
../mapHandler.cpp:849: warning: taking address of temporary
../mapHandler.cpp: In member function 'SDL_Surface* CMapHandler::getVisBitmap(int, int, const std::vector<std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > >, std::allocator<std::vector<std::vector<unsigned char, std::allocator<unsigned char> >, std::allocator<std::vector<unsigned char, std::allocator<unsigned char> > > > > >&, int)':
../mapHandler.cpp:927: warning: unused variable 'd5'
../mapHandler.cpp: In member function 'bool CMapHandler::printObject(const CGObjectInstance*)':
../mapHandler.cpp:1234: warning: unused variable 'curt'
../mapHandler.cpp: In destructor 'CMapHandler::~CMapHandler()':
../mapHandler.cpp:1431: warning: comparison between signed and unsigned integer expressions
../mapHandler.cpp:1434: warning: comparison between signed and unsigned integer expressions
../mapHandler.cpp:1437: warning: comparison between signed and unsigned integer expressions
../mapHandler.cpp: At global scope:
../mapHandler.cpp:101: warning: 'void alphaTransformDef(CGDefInfo*)' defined but not used
make[1]: *** [vcmiclient-mapHandler.o] Error 1
make[1]: Leaving directory `/home/user/trunk/client'
make: *** [all-recursive] Error 1

Fixed.
However the Development forums would be a better place for such report. In this thread please keep to report released 0.72 issues (that’s /trunk in rev928 or /tags/0.72).

A few useful sources I use:
heroescommunity.com/viewthread.p … genumber=1 - Strategija (PDF)
heroes.thelazy.net/ - H3Wiki
h3maparchives.celestialheavens.c … /erm_help/ - ERM Help

Possibly already fixed. I cannot reproduce.

The problem is with the size of teleporter. There’s 1 and 3 tiles teleporters but the current code only handles one tile. I didn’t fix because I don’t know where that size is stored (except in the bitmap itself).

Hi there !

If you gyus dont mind i could translate FIZMIG into english, but i will ask AmberSoler(author) about this

30_battle when any creature starts taking action there is a delay and for AI info in console is written, and during this delay if we rightclick(u can attack a monster with leftclick and right after this press rightclick) on any monster game crashes, in logs there is info about structure setactivestack and start/endaction (i won’t put logs, because reproducible)
31_battle I don’t like that already found issue about haste/slow affection on battle movement order not yet fixed and add from my own : the queue (hotkey Q) shows even more strange info, example : my army(speed in brackets) gargoyle(6), golem(3),gremlin(4) , enemy - gnoll maradeur(5), original queue - garg,gnol, grem, golem, after haste(+3speed) on gremlins on garg turn queue swows garg,gnol,golem,grem, but creatures moving after this they move : garg, gnol,grem,golem
so we see the spell affects queue, but wrong and do not affect creature moving order
32__battle golems have morale
33__gamedata Alchemists and deathknights haven’t magicbook, that are only might heroes that have it
34__advmap originally when a hero hasn’t movementpoints to go diagonally(i.e. off the road) but has for a step by road, an attempt to go off the road decreases movementpoints without moving, in vcmi there is no mp loss but the path Xmark dissappears (it’s better to leave it like this, but if following h3 u should fix )))

[quote=“ubuntux”]

I also tried several times to reproduce it but failed. It was a one time bug. That’s why I also attached the Server and Client log to my post above, maybe they can help you guys figure out what may have caused it.

[size=75]PS: By the way - are both Server & Client log useful in identifying crash cause? Or are there crash/bug cases when only one or the other can be of use? I’m asking just in case it might be better for the forum web space if I limit my uploads to minimum necessary.[/size]

That would be d) (kind of). There was a race between the thread that adds the messages and the other that removed them. Fixed.

I guess nobody would mind. But check first with the author if he’s okay. And maybe he would know if the document is not already in English somewhere, to spare you the effort. :wink:


#35 - The basic value for the Ballista damage is incorrect. We have 2-3 in VCMI, while in H3 it is 6-9.

#36 - The Magic Arrow damage *seems *too high. I say “seems” based on the number of enemy creatures killed by it, as the battle log does not give the actual damage. EDIT: Valid for other destructive spells as well - possibly they’re all overpowered.

To better tell how far from the correct value the spell damage is, it would be useful to implement spell damage information for the spell book & battle log, but I’m gonna report this in the Missing features thread.

Fixed. I also fixed a bug where the level shown for a primary skill was always basic.

fixed. (that was also #16)

The hero list on the hero windows was displaying all heroes, not just the ones on the map. fixed.

the fix don’t work properly - in new revision on my map, even if i have less than 8 (even less than 7) ungarnisoned heroes occurs a bug - #37 - that I can’t ungarrison hero, but I may buy one in tavern - strange

PS: this occured when initially were 8 ungarrisoned heroes but few got into castle garrison
PS2: I attached a map, maybe it’s map specific

EDIT: checked on arrogance3.h3m - it occurs when we have 8 or more total heroes but less than 8 ungarrisoned - the garrison script checks probably wrong variable
___overflow2.7z (2.46 KB)

#38

player red is player zero on player messages
and player red is player 1 on other console messages

#39

strange info from console

GeniusAI initialized for player 255
Setting up interface for neutral "player"0