0.71b - development version

Okay, I found a couple of 0.71 issues missing from SourceForge (I’ll add them now) and not yet fixed in 0.71b:

0.71#68 Garrisoned heroes cannot buy spell book : [forum.vcmi.eu/t/vcmi-0-71-bug-seeking-thread/143/59)

H3 behavior: Garrisoned hero can buy spell book, but only if there is no visiting hero in town.

Suggestion for VCMI behavior:

  • Allow garrisoned hero to buy spell book if no visiting hero (like H3)
  • Ignore garrisoned hero when clicking on Mage Guild while we have visiting hero (like H3), but only if none is selected, or visiting hero is selected
  • Allow garrisoned hero to buy spell book if we select him, even if there is a visiting hero in town (not in H3 - see if you consider it a good idea)

0.71#70 Tavern may give hero with only 1 Lvl1 creature at the start of a new week, as if we already hired a hero that week.

I had it happening only twice:

1st in 0.71 ( [forum.vcmi.eu/t/vcmi-0-71-bug-seeking-thread/143/59) ): On Day 1 of Week 2 of Month 2, one of the 2 heroes which were offered at the Fortress Tavern in the beginning of the week was Jenova, Level 1 Ranger, with only 1 Centaur in the army. This should not happen unless we already purchased a hero or if she would be a retreating hero, which was not the case.

2nd in 0.71b: After purchasing both Tavern (Fortress) heroes in week 1, the 2nd (non-Fortress) hero in my Tavern at the beginning of week 2 had only 1 Lvl1 creature in the army.

I didn’t manage to reproduce it yet: very rare occurrence and no noticeable pattern. First I thought the pattern would be that if we have 2 same alignment heroes at Tavern and we hire them both, then the bug occurs next week. But I managed to reproduce the scenario and had no issues at the beginning of the next week. So it must be something else. I’ll let you know if it occurs again (and if it does, I promise this time I won’t forget to save the Client log before starting another game:P)

0.71#72 Garrisoning, ungarrisoning, or switching between visiting & garrisoned hero, causes all other heroes on the Adventure Map to lose their preset paths : [forum.vcmi.eu/t/vcmi-0-71-bug-seeking-thread/143/65)

Retested in 0.71b and the bug is still there.

And now back to some 0.71b bugs:

#89 - Artifact debuffs don’t have a minimum limit: i4.photobucket.com/albums/y104/Zamolxis/VCMI/VCMI%2007/th_090531-ArtifactDebuffsBug.jpg

Artifact debuff minimums should be 0 for Attack & Defense and 1 for Power & Knowledge

#90 - Right-click on a hero on Adventure Map opens the info box always in the upper left side of the hero. That creates an issue when we scroll the map as such that our hero is close to the upper and/or left edge of the client interface. In that case parts of the info are not visible anymore (if the hero is really in the upper left corner, you see nothing of it):

In H3 the info box was first of all opening as centered above the hero. That’s not really an issue, as I kinda like it to still see the hero when the info box opens next to him. But in H3, if the hero was next to the edge of the interface, the position of the info box was adjusting to the edge of the screen so that we can see it completely.

#90 #87’ - Can be get item near the monsters (unlike in H3 without Fly)


^ I changed the log number because #90 was already taken, plus it’s related to the same issue that you reported yesterday as:

(feature not yet implemented)

Thanks

#91 - Cannot load the map with <8 (2-7) players

I think it is a savegame bug.

#92 - Error when buying a Ballista

*** glibc detected *** /home/user/trunk/client/.libs/lt-vcmiclient: free(): invalid pointer: 0xad25fb0c ***    
======= Backtrace: =========                                                                                   
/lib/libc.so.6[0xb7add281]                                                                                     
/lib/libc.so.6[0xb7ade9ba]                                                                                     
/lib/libc.so.6(cfree+0x6d)[0xb7ae1abd]                                                                         
/usr/lib/libstdc++.so.6(_ZdlPv+0x21)[0xb7cb4ca1]                                                               
/home/user/trunk/client/.libs/lt-vcmiclient[0x8113eb2]                                                         
/home/user/trunk/client/.libs/lt-vcmiclient[0x8114463]                                                         
/home/user/trunk/client/.libs/lt-vcmiclient[0x8130055]                                                         
/home/user/trunk/client/.libs/lt-vcmiclient[0x81ccd42]                                                         
/home/user/trunk/client/.libs/lt-vcmiclient[0x816a4a2]                                                         
/usr/lib/libboost_thread-mt.so(thread_proxy+0x68)[0xb7d02868]                                                  
/lib/libpthread.so.0[0xb7e466bc]                                                                               
/lib/libc.so.6(clone+0x5e)[0xb7b3fffe]                                                                         
======= Memory map: ========                                                                                   
08048000-08221000 r-xp 00000000 08:07 34190      /home/user/trunk/client/.libs/lt-vcmiclient                   
08221000-08222000 rwxp 001d8000 08:07 34190      /home/user/trunk/client/.libs/lt-vcmiclient                   
08222000-08223000 rwxp 08222000 00:00 0                                                                        
098d5000-0a875000 rwxp 098d5000 00:00 0          [heap]                                                        
a9400000-a9482000 rwxp a9400000 00:00 0                                                                        
a9482000-a9500000 ---p a9482000 00:00 0                                                                        
a957f000-a9700000 rwxp a957f000 00:00 0                                                                        
a9700000-a97f3000 rwxp a9700000 00:00 0                                                                        
a97f3000-a9800000 ---p a97f3000 00:00 0                                                                        
a9824000-a9900000 rwxp a9824000 00:00 0                                                                        
a9900000-a99a2000 rwxp a9900000 00:00 0                                                                        
a99a2000-a9a00000 ---p a99a2000 00:00 0                                                                        
a9a17000-a9b00000 rwxp a9a17000 00:00 0                                                                        
a9b00000-a9bd9000 rwxp a9b00000 00:00 0                                                                        
a9bd9000-a9c00000 ---p a9bd9000 00:00 0                                                                        
a9c17000-a9d00000 rwxp a9c17000 00:00 0                                                                        
a9d00000-a9dfc000 rwxp a9d00000 00:00 0                                                                        
a9dfc000-a9e00000 ---p a9dfc000 00:00 0                                                                        
a9e49000-a9f00000 rwxp a9e49000 00:00 0                                                                        
a9f00000-aa000000 rwxp a9f00000 00:00 0                                                                        
aa049000-aa100000 rwxp aa049000 00:00 0                                                                        
aa100000-aa200000 rwxp aa100000 00:00 0                                                                        
aa249000-aa300000 rwxp aa249000 00:00 0                                                                        
aa300000-aa3b7000 rwxp aa300000 00:00 0                                                                        
aa3b7000-aa400000 ---p aa3b7000 00:00 0                                                                        
aa400000-aa500000 rwxp aa400000 00:00 0                                                                        
aa500000-aa5e6000 rwxp aa500000 00:00 0                                                                        
aa5e6000-aa600000 ---p aa5e6000 00:00 0                                                                        
aa600000-aa6f9000 rwxp aa600000 00:00 0                                                                        
aa6f9000-aa700000 ---p aa6f9000 00:00 0                                                                        
aa700000-aa7fc000 rwxp aa700000 00:00 0                                                                        
aa7fc000-aa800000 ---p aa7fc000 00:00 0                                                                        
aa800000-aa8eb000 rwxp aa800000 00:00 0                                                                        
aa8eb000-aa900000 ---p aa8eb000 00:00 0                                                                        
aa900000-aa9f0000 rwxp aa900000 00:00 0                                                                        
aa9f0000-aaa00000 ---p aa9f0000 00:00 0                                                                        
aaa00000-aab00000 rwxp aaa00000 00:00 0                                                                        
aab00000-aad00000 rwxp aab00000 00:00 0                                                                        
aad00000-aaf00000 rwxp aad00000 00:00 0                                                                        
aaf00000-aaffb000 rwxp aaf00000 00:00 0                                                                        
aaffb000-ab000000 ---p aaffb000 00:00 0                                                                        
ab000000-ab100000 rwxp ab000000 00:00 0                                                                        
ab100000-ab2ff000 rwxp ab100000 00:00 0                                                                        
ab2ff000-ab300000 ---p ab2ff000 00:00 0                                                                        
ab300000-ab4ff000 rwxp ab300000 00:00 0                                                                        
ab4ff000-ab500000 ---p ab4ff000 00:00 0                                                                        
ab500000-ab700000 rwxp ab500000 00:00 0                                                                        
ab700000-ab900000 rwxp ab700000 00:00 0                                                                        
ab900000-abb00000 rwxp ab900000 00:00 0                                                                        
abb00000-abbfe000 rwxp abb00000 00:00 0                                                                        
abbfe000-abc00000 ---p abbfe000 00:00 0                                                                        
abc00000-abcf0000 rwxp abc00000 00:00 0                                                                        
abcf0000-abd00000 ---p abcf0000 00:00 0                                                                        
abd00000-abdff000 rwxp abd00000 00:00 0                                                                        
abdff000-abe00000 ---p abdff000 00:00 0                                                                        
abe00000-abf00000 rwxp abe00000 00:00 0                                                                        
abf00000-abfff000 rwxp abf00000 00:00 0                                                                        
abfff000-ac000000 ---p abfff000 00:00 0                                                                        
ac000000-ac100000 rwxp ac000000 00:00 0                                                                        
ac100000-ac1ff000 rwxp ac100000 00:00 0                                                                        
ac1ff000-ac200000 ---p ac1ff000 00:00 0                                                                        
ac200000-ac2fe000 rwxp ac200000 00:00 0                                                                        
ac2fe000-ac300000 ---p ac2fe000 00:00 0                                                                        
ac300000-ac4fd000 rwxp ac300000 00:00 0                                                                        
ac4fd000-ac500000 ---p ac4fd000 00:00 0                                                                        
ac500000-ac700000 rwxp ac500000 00:00 0                                                                        
ac700000-ac7fe000 rwxp ac700000 00:00 0                                                                        
ac7fe000-ac800000 ---p ac7fe000 00:00 0                                                                        
ac800000-ac8ff000 rwxp ac800000 00:00 0                                                                        
ac8ff000-ac900000 ---p ac8ff000 00:00 0                                                                        
ac900000-ac9f4000 rwxp ac900000 00:00 0                                                                        
ac9f4000-aca00000 ---p ac9f4000 00:00 0                                                                        
aca00000-acaff000 rwxp aca00000 00:00 0
acaff000-acb00000 ---p acaff000 00:00 0
acb00000-acbfd000 rwxp acb00000 00:00 0
acbfd000-acc00000 ---p acbfd000 00:00 0
acc00000-acd00000 rwxp acc00000 00:00 0
acd00000-acdfd000 rwxp acd00000 00:00 0
acdfd000-ace00000 ---p acdfd000 00:00 0
ace00000-acf00000 rwxp ace00000 00:Аварийный останов

@ ral_il_an : I guess the Ballista error is not related to the load/savegame one, so I gave it a different log number.

About the savegame one, maybe you can attach the saved game that you cannot load for us to check if we have the same problem on our PCs.

Fir 91 The game cannot be saved if Players < 8 (The server crashes on starting autosave of map) This bug is NEW of rev 927

Fixed by Ubuntux.

Implemented by Ubuntux. Home/End hotkeys as well :slight_smile:

Fixed.

Rather non-issue. It would be troublesome to fix. Console shouldn’t be closed manually if you don’t want cause crash.

Fixed.

Fixed.

Not implemented.

I can’t reproduce it with 0.72. Either has been fixed or it’s platform-specific issue.

Duplicate to #48

Resource-giving artifacts crashes on new turn have been fixed. I’m not sure if it will fix also the pick-up crashes but it’s possible. (There was really ugly bug with artifacts in 0.71b).

Scholar info was corrupted on the saving, fixed.

Fixed.

Fixed.

Missing projectile graphic.
Who knows what is the name of Storm Elemental projectile?

Should be fixed.

Not reproducible.

Not reproducible / probably fixed.

I’ll leave it as it is, I agree we can consider this as not-a-bug.

Duplicate to… never mind, I can’t find it :confused:
Current behavior was simpler to implement (and gives all needed possibilities). Will be fixed later.

I’ll check it later.

Not implemented.
Duplicate to 0.7#48.

Fixed I hope.

I’ll fix it soon.

Not reproducible - fixed or platform specific.

That’s hopefully all.

Unresolved issues have been added to the tracker:
sourceforge.net/tracker/index.p … 9&status=1

If I missed something, correct me :slight_smile:
*

Once more, many thanks for the testing!*

I can reproduce. Linux’ libc has a built-in memory allocator detector. In that case it found a double free.
The problem is actually with the tavern. When right clicking on a hero, CHeroWindow::setHero is called and curHero is set. When the button is released, the hero window closes, but CHeroWindow::quit is not called, so curHero is not reset to NULL, and then bad things happen.

That’s also causing the crash when buying a ballista.

It seems to me that is cprgtix.def the same as for Titan, i compared both in game (if my eyes are fast enough) and rechecked in h3sprute.lod for projectile defs, but there is probability about 1% that i missed that stormelemental’s def

Yep. I cannot believe I’m playing this game for 10 years and haven’t noticed yet that Titans & Storm Elementals use the same projectile. :slight_smile:

I checked it as well with slowest animation speed and there’s no doubt about it: they’re identical. Good find! :wink:

Indeed. Thanks for clear description, that explains everything.
When hero artifacts set is changed (eg. because of picking arts from the map or buying war machines / spellbook) VCMI checks if herowindow is opened (and needs updating) by checking if curHero is set.

So we have crash if we have opened hero window preview with r-click and then buy / pick up artifacts. Workaround to prevent the crash is to open hero window in the conventional way.

I’ll fix it.

Fixed.

Fixed.

Implemented by Tow Dragon in r1005.

Hopefully fixed.

Fixed.

Fixed.

Fixed by Ubuntux.

I think I figured out what this bug refers to - the morale/luck info in hero screen. Example:

  • We visit Faerie Ring and we pick up Clover of Fortune
  • The hero screen shows correctly 2 horseshoes for Luck
  • However if we right click on them, we only have info about the Faerie Ring boost, not also the Clover of Fortune artifact.

Indeed. Bonuses from artifacts are considered when calculating total hero morale/luck but they are not listed in the modifiers list.
It will be fixed :slight_smile:

EDIT:
It’s fixed :slight_smile: