MantisBT - VCMI
View Issue Details
0001280VCMIGUI - Otherpublic2013-05-29 20:282022-12-17 14:07
Zamolxis 
 
normalcrashalways
assignedopen 
0.92 
 
0001280: Bugs, performance issues and suggestions regarding cheat code 'vcmiarmenelos' (= build all)
This is a split from a discussion started in 0001276. It was first noticed in 0.92c and the crashdump is from there, but I went back to 0.92 and 0.91 and behaviors were mostly the same.

To reproduce all of the below, a good test map is VCMI_Tests_2012 map from 0001063

1. (Works as designed) One time bonus buildings created as result of the cheat, give the bonus to hero at gate immediately, i.e.: hero does not need to visit the town screen. On the quoted map, type vcmiarmenelos for the first Tower in the list. Neela will get +1 Knowledge instantly (even before the new Lookout Tower will reveal the map). It felt weird, but this is a cheat after all. It's maybe even meant as a feature, saving us the action of having to actually open the town interface, so you can really disregard this actually.

2. Most notable is the performance issue. For the same Tower, type vcmiarmenelos, then try to do some game actions, for example take Neela (at gate) and press spacebar a couple of times, then take Xyron (next hero after her) and try to move him on the land somewhere further East. Going back to the moment of typing the cheat, I have the following:
- Immediately the +1 Knowledge pops for Neela, even if I'm on Adventure Map (should happen only once I enter the town > minor bug related to a cheat, not important)
- Almost same time the map is shown as revealed in the minimap ~ around this time I tried the actions I said above
- The game freezes for about 1min - 1m30
- Then it unfreezes, and funny enough does the recorded actions in opposite order: first I see Xyron move, then the town screen opens and closes

If I try just one action after the cheat (e.g.: move Xyron), the freeze is as long. If the action is pressing spacebar on Neela more than 2 times, sometimes I get graphic artifacts on the screen from the late attempt to open/close/open/etc town screen.
UPDATE: Another funny behavior, right after typing in the cheat, is to enter the town and just watch what's happening: buildings pop up slowly every 1-2-3 seconds... taking about a full minute till all is up (as compared to 1 second in H3). Which probably explains the crashes that occur if you try to do sth else, while VCMI is so slowly building that town.

---

Next reports are issues noticed when using the cheat on all other towns on that map, most of them missing a Fort (hence starting with the basic town image on map and in town list)

3. Not all towns update their town icon in list after the cheat gives them the Fort:
- some update with delay (possibly due to the performance delay reported above)
- some never do, like the second Tower town on that map

4. Tower town on that map actually didn't update the image on the map either for a long time (I entered it few times, to find it all built inside, and yet at exit it still showed the original image... I'm not sure at which point it eventually appeared, but I'm pretty sure it happened after the image was updated for towns which I "upgraded" with the cheat after it).

5. The cheat doesn't seem to work at all on the last 3 towns: Dungeon, Stronghold & Fortress. I'm not sure if it's because of the town types, the fact that they're last in the list, or the overuse of the cheat before. Console gives "Cheater!!!" but nothing is happening - and of course I made sure the town was selected.

6. I also had a crash once after I reloaded the map to test again the behaviors above, and started using the cheat on each town in the list, starting with the first, and with no other game actions in between. I think somewhere around the 4th town in the list, the crash pop-up appeared. It let me finish typing the cheat one more time afterwards, and then another crash popup appeared above. Crashdump attached.

Let me know if you need more details, but for me the above are reproducible every time, with minor variations.

7. (Fixed) In the very beginning, I was a bit confused and thought the cheat didn't work. First I tried it in town, but figured out immediately chat doesn't work there. But also after exiting town it wasn't working. It took a few attempts to figure out it was because I had a visiting hero, in which case at exit the hero gets selected (so town gets deselected). Suggestions:
>> Either allow chat in town screen (preferred), in which case the cheat could visually work with the same fading effect we get when moving from one town to another (as if we're clicking on another town in the list which had all built).
>> Or have the cheat work also for the town visited by the hero selected
>> Or at the very least, the console message should say "No town selected!" next to (or instead of) "Cheater!!!"

UPDATE: I just realized there is one other discrepancy with WoG, which may also render the above suggestion irrelevant if we go for the WoG behavior:

8. In WoG, wogminastirith took action regardless of the fact that a town, hero or nothing was selected, and it was building ALL towns (not just the one selected, like in VCMI).

To avoid performance issues, it seems it was implemented as such to take effect one by one, at the time they were first accessed. So for example only when entering Tower the hero at gate would get +1 Knowledge, and only when exiting the map was revealed. Similar for Castle probably Lighthouse only became effective when entering town... But that may need further testing to see how exactly it worked for example in case after the cheat a town was not accessed before End Turn.
No tags attached.
related to 0001276closed Ivan Horde buildings make creature buildings inaccessible 
parent of 0001306closed Ivan Cheat code 'vcmiarmenelos' (= build all) also adds the boat next to Shipyard in Town screen 
7z 2013-05-29_vcmiarmenelosCrash.7z (182,017) 2013-05-29 20:28
https://bugs.vcmi.eu/file_download.php?file_id=1287&type=bug
Issue History
2013-05-29 20:28ZamolxisNew Issue
2013-05-29 20:28ZamolxisFile Added: 2013-05-29_vcmiarmenelosCrash.7z
2013-05-29 20:28ZamolxisIssue generated from: 0001276
2013-05-29 20:28ZamolxisRelationship addedrelated to 0001276
2013-06-02 14:24ZamolxisNote Added: 0003634
2013-06-02 14:24ZamolxisDescription Updatedbug_revision_view_page.php?rev_id=2251#r2251
2013-06-08 07:00ZamolxisIssue cloned: 0001306
2013-06-08 07:00ZamolxisRelationship addedparent of 0001306
2013-06-10 19:17IvanAssigned To => Ivan
2013-06-10 19:17IvanStatusnew => assigned
2013-08-21 19:07ZamolxisDescription Updatedbug_revision_view_page.php?rev_id=2385#r2385
2013-08-21 19:07ZamolxisNote Edited: 0003634bug_revision_view_page.php?bugnote_id=3634#r2387
2013-08-21 19:21ZamolxisDescription Updatedbug_revision_view_page.php?rev_id=2388#r2388
2013-08-21 19:29IvanNote Added: 0003883
2013-08-21 19:29IvanDescription Updatedbug_revision_view_page.php?rev_id=2389#r2389
2013-08-21 19:31IvanNote Edited: 0003883bug_revision_view_page.php?bugnote_id=3883#r2391
2013-08-21 19:58ZamolxisNote Added: 0003884
2013-08-21 19:59ZamolxisNote Edited: 0003884bug_revision_view_page.php?bugnote_id=3884#r2393
2013-08-21 20:01ZamolxisNote Edited: 0003884bug_revision_view_page.php?bugnote_id=3884#r2394
2013-08-21 20:06ZamolxisNote Edited: 0003884bug_revision_view_page.php?bugnote_id=3884#r2395
2013-08-21 20:55ZamolxisNote Edited: 0003884bug_revision_view_page.php?bugnote_id=3884#r2396
2022-12-17 14:07IvanAssigned ToIvan =>

Notes
(0003634)
Zamolxis   
2013-06-02 14:24   
(edited on: 2013-08-21 19:07)
Actually in WoG the cheat upgraded all towns in one go, and a town didn't have to be selected for the cheat to work. Updated also in above description as item nÂș8.

This may save you some redundant work in fixing some of the above, if the target is having OH3 behavior. ;)

(0003883)
Ivan   
2013-08-21 19:29   
(edited on: 2013-08-21 19:31)
>> if the target is having OH3 behavior
Target (in case of cheats) is to have useful behavior. So in case of 8) I prefer current situation.

1) VCMI feature, works as designed.

2) Not related directly to cheat - bringing Grail artifact to Tower will very likely result in same/similar behavior. Same may happen in case of town event(s) that build multiple buildings at once.

7) Fixed some time ago, maybe even in 0.93

(0003884)
Zamolxis   
2013-08-21 19:58   
(edited on: 2013-08-21 20:55)
Most of the issues could be performance related. I guess we should check again when the performance improves.

But it's not something a small performance boost can fix. Right now it feels like it's taking 50-100 longer for the cheat to act on one town, than it took in H3 to act on 8 towns. Maybe there's a quicker way to make the "build all" function work? It kinda feels like VCMI somehow goes through all the steps a human would go: access town hall section > select item > build > in-town animation > and again the same, until all is built.

Ivan: "So in case of 8) I prefer current situation."
> Actually "build all" for one i/o all towns doesn't bring many testing advantages. What would be useful, is a new chat that just removes the 1 building a day restriction, so we can test different bug fixes related to a certain order of building structures, without having to End Turn so many times (and now also wait for AI to do their turn). Requested long ago on the forum: http://forum.vcmi.eu/viewtopic.php?p=4021#4021 [^]