<URL: http://bugs.freeciv.org/Ticket/Display.html?id=40408 >

On Sat, Jul 26, 2008 at 7:47 PM, Nicolas R. Wadhwani <[EMAIL PROTECTED]> wrote:
> <URL: http://bugs.freeciv.org/Ticket/Display.html?id=40408 >
> Hi,
> In current trunk version if you capture an enemy city it still looks like it
> would belong to the previous owner before you captured it. Only if you would
> quit the game and rejoin/reload the captured city would appear in your city
> list and become accesible for changing the worklist, worker placement etc.


> This is because the handle_city_info function depends on noticing a change of
> owners between the current known owner of a tile and the new owner of the
> city sent by the server. However, this change of ownership is currently
> handled by handle_tile_info previously before the city info packet arrives.
> The result is that the borders and all are calculated correcty and updated
> immediately, but once the new packet for the change of the city ownership
> comes in the client assumes the owner remained the same because the tile
> already belongs to the player the server is sending as new owner.

The check simply needs to be fixed.  Whatever it is that's causing the
city to be displayed as enemy is what needs to be checked for.

> This problem could probably alternatively solved by changing the order in
> which the packets are send by the server, but this would be a bit more
> complicated and inhibits the risk of messing up something I just don't see
> now that crucialy depends on updating the tiles before the cities or I dunno
> what else.

Depending on the order of packets being correct is, in general, very
bad.  Each packet should be independent.


Freeciv-dev mailing list

Reply via email to