FreeCol / freecol

FreeCol: FreeCol is a turn-based strategy game based on the old game Colonization, and similar to Civilization. The objective of the game is to create an independent nation.
GNU General Public License v2.0
585 stars 170 forks source link

Fixes bug that stops ship from sailing back to the colony #45

Closed TropicalBastos closed 4 years ago

TropicalBastos commented 5 years ago

This PR fixes issue #44

The issue was caused by a null 'Map' destination which meant the ship couldn't set sail for the colony resulting in the user having the ship trapped in Europe.

This PR addresses the issue by making sure the map is added to the high seas destinations array when the ship leaves for Europe. This means when the user selects their colony as a destination the ship will return to the map.

wintertime commented 4 years ago

Hi, thank you, it's just that the bug seems not completely fixed? When I (after merging your branch locally to the sourceforge master) tried the savegame from when I just encountered the bug and the savegame from #44 -- I still could not sail back from Europe. I got a different message in the log than #44, but there had been only translation updates meanwhile, which should not affect the patch. Please, would you have another look at it? You will find more information about the bug there: https://sourceforge.net/p/freecol/bugs/3115/

TropicalBastos commented 4 years ago

Hi @wintertime thanks for your response and apologies for the delayed reply. I will see if I can get this bug fix ironed out when I have some free time. Thanks

TropicalBastos commented 4 years ago

@wintertime May I ask, was the game in the save you provided in the sourceforge link created before the patch? Because according to the log there are no destinations when trying to sail back from Europe - however this patch explicitly adds the current map to the array of destinations when sailing back to Europe.

Is there any chance you could recreate this bug on this branch with a new save game?

wintertime commented 4 years ago

Oh, that might indeed be the problem. I was trying out the master version on sourceforge, hit the bug, made a save, repeated it. Then I was looking to report it, found the issues on sf and gh, then tried your patch on it. It would be useful if there is a way to fix games where players have their ship stuck already (usually FreeCol tries to load any savegame from 0.x-1.0 on even if it is bugged but fixable), but preventing the bug on new games is also nice. I'll try your patch on a new game when I find time to play.

wintertime commented 4 years ago

Sorry, that you had to wait such a long time for this, I merged your PR now with only minimal testing, as it was clearly helping with this game blocking bug. I'm still hopeful for your further improvements on this. ;)

I also started a new nightly build, so everyone can use and test it some more. Please anyone, report any further problems!

TropicalBastos commented 4 years ago

@wintertime No worries its fine I understand, thanks for the merge! I'll see if I can figure a way out to fix the bug for save games prior to this patch in my spare time