Complete.Org: Mailing Lists: Archives: freeciv-dev: April 2000:
[Freeciv-Dev] Re: foggy problems
Home

[Freeciv-Dev] Re: foggy problems

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: foggy problems
From: Thue Janus Kristensen <thue@xxxxxxx>
Date: Fri, 21 Apr 2000 20:20:15 +0200

This is the patch yet again; I had missed a case.
If only one player has any cities, and we try to resolve_unit_stack in
one of his cities, in the previous patch we transferred his unit back
into the city, so causing an infinite loop. So in that case we now
disband the other players unit.
And I nitpicked a bit about formating the places in the code that were
affected anyway.

-Thue

On Thu, 20 Apr 2000, Jeff Mallatt wrote:
> 
> This is basically Thue's patch, with a little clean-up: removed a debugging
> printf(), added notifications for disbanding units in resolve_unit_stack(),
> added an "exclude city" parameter to find_closest_owned_city() (which
> allowed me to clean-up disband_city() a bit).
> 
> This patch is against the latest CVS.
> 
> At 2000/04/13 15:59 , Thue Janus Kristensen wrote:
> >Here is a slightly improved patch that doesn't have the ugly hack
> >mentioned below in 1). It should now be prefectly safe to allow resolving
> >stack conflicts in a city again. (removed in my patch) (Are you sure you
> >sent the right game for the reproducible loop? it's year was 3900BC...
> >freeciv is not that deterministic with all the random battles...)
> >Theoretically it should work now :)
> >
> >I have included two patches:
> >-one that includes the two old patches+my latest patch
> >-one that contains my patch alone
> >
> >> The attached patch does the following:
> >> 1) Temporarely removes the old city from the victim players city list
> >> while the units are transferred (the old city is still the one referred
> >> in the tile, but it would take some ogy code to change that in the too,
> >> as we would have to go throught the playermaps as well). This is needed
> >> for the units to be transferred properly (My main test case was a ship
> >> city1 with a unit from city2 just outside city1 as it got bribed, the
> >> unit gets into the city too). If you want to I think we can allow
> >> resolving units in a city again. Yes, I know this isn't very pretty, but
> >> I couldn't see any other way.
> >> Suggestions welcome.
> >> 
> >> 2) Make sure that ships are not transferred to landlocked cities
> >> 
> >> 3) Make the server not crash if we try to transfer a unit when we have no
> >> cities.
> >> 
> >> 4) Move the verbose message to the player from resolve_unitstack down into
> >> teleport_unit_to_city
> >> 
> >> -Thue
> 

Attachment: unit_transfer_problems-Apr-21.diff
Description: Text Data


[Prev in Thread] Current Thread [Next in Thread]