Andrettin / Wyrmsun

Strategy game based on history, mythology and fiction
http://andrettin.github.io/
GNU General Public License v2.0
301 stars 47 forks source link

Cannot select anything on the map after winning singleplayer scenario #198

Open SenhorFlibble opened 2 years ago

SenhorFlibble commented 2 years ago

I started playing through scenarios, won the first Germanic one (On the Vanaquisl), selected Victory to end mission, then started the second Germanic scenario, but after I read and closed the briefing, I could not select any units on the map, or move the viewport around -- basically, could not interact with the game in any way except opening the menu. The mouse pointer is active but does not interact with the game objects.

I quit and restarted the scenario to no effect. Trying to play another scenario or a custom game had the same problem of the mouse not being able to select any game object. If I exit to desktop and restart Wyrmsun, everything works fine again. I have not tested yet if the same happens when winning a different scenario, like the Dwarves' one.

The version is Windows 5.2.4, but also happened on 5.2.3 as well.

Interestingly, as I replayed the first Germanic scenario to verify the problem, I selected Continue Game instead of Victory after destroying the Chieftain's Hall, and then got some extra dialogue ("What is the disturbance in our home?" or something to that effect) and again, the game prompted to choose between Victory and Continue game. Looks like there might be a problem with the scenario's scripts creating an endless loop of messages which then interferes with further gameplay. I.e. I believe that I cannot interact with the game world as described above because this interaction is turned off during in-game dialogue (?), and it was not turned on again after winning the scenario.

On another note, the scenario in question is very easy, I was able to win it during one playthrough by having several archers simply destroy the Chieftain's Hall across the river without even crossing it. I didn't even do that on purpose, I had the rally point set so that the archers started firing automatically, and won the scenario for me while I was exploring the map with the starting units.

Andrettin commented 2 years ago

Thanks for the information on the bug! This sort of issue usually happens when a Lua dialog or menu wasn't destructed properly. With QML dialogs we don't have this issue. I would guess that either a dialogue unexpectedly wasn't closed, or that the achievement unlocked wasn't displayed/closed properly.

Since dialogs pause the game, and the victory/defeat dialog is supposed to be the last dialog when the game ends, this usually isn't an issue, but maybe I missed something.

In any case, the best way to solve this issue is probably to convert the in-game dialogues and achievement unlocked dialogs to be in QML rather than Lua, which is something I was already intending on doing for other reasons (e.g. so that they may use the new fonts).

Andrettin commented 2 years ago

Done for the achievement unlocked dialog: https://github.com/Andrettin/Wyrmgus/commit/72572c03233c62abef5c877a6fffb5772402f136 https://github.com/Andrettin/Wyrmsun/commit/e5a9456364c2f8b2c66cad9a776054bf2579146f https://github.com/Andrettin/Wyrmsun/commit/908ce217bd8316d71928bd632e3990463580ab29

This leaves the dialogue popups, which I'm going to work on next.

Andrettin commented 2 years ago

I've finished the dialogue UI rework; these are the most relevant commits: https://github.com/Andrettin/Wyrmgus/commit/41ff32d39358572ac40993e1957eecc8e61ec69f https://github.com/Andrettin/Wyrmsun/commit/f5d7708a250218ed27d071bd53737724bfa8adbf https://github.com/Andrettin/Wyrmsun/commit/1cef12bd17733597a56a24c9282f1208954ec6fe

Rampoina commented 11 months ago

@Andrettin I have this bug with master and 5.3.6 on any mission. All of the missions start with dialogs and then the game gets stuck in the pause state.

On linux, I've tried both Arch Linux and NixOS.

Edit: I've figured out that this only happens on KDE for some reason, using other desktop environments I don't have this issue.