Complete.Org: Mailing Lists: Archives: freeciv-dev: May 2002:
[Freeciv-Dev] Re: [PATCH] city_landlocked_sell_coastal_improvements gene
Home

[Freeciv-Dev] Re: [PATCH] city_landlocked_sell_coastal_improvements gene

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: freeciv-dev@xxxxxxxxxxx
Cc: bugs@xxxxxxxxxxxxxxxxxxx
Subject: [Freeciv-Dev] Re: [PATCH] city_landlocked_sell_coastal_improvements generalisation (PR#1105)
From: jjc@xxxxxxxxxxxxxxxxxx
Date: Tue, 21 May 2002 19:58:29 -0700 (PDT)

I give the revised version my stamp of approval ;)
It could be simplified by changing 
+        while (improvement_types[impr].terr_gate[i] != T_OCEAN
+               && improvement_types[impr].terr_gate[i] != T_LAST) {
+          ++i;
+        }
+        if (improvement_types[impr].terr_gate[i] == T_OCEAN
+            && !city_has_terr_spec_gate(pcity, impr)) {
to 
if(!city_has_terr_spec_gate(pcity, impr) { 
but that would decrease speed. (Possibly a comment to this effect should
be added.)  Speed could be improved by keeping a 
list of improvements that had T_OCEAN in terr_gate, but that would 
increase complexity.  

I agree with the comment that at some point it should be generalized
to sell all relevant buildings after a terrain change.  For the 
present building.ruleset this is irrelevant.

It might be a good idea to use is_terrain_near_tile rather than 
adjc_iterate to check for nearness to T_OCEAN.

I think that this code is a useful improvement in generality of the 
code without any significant side effects (it does add a small 
constant factor time increase, however this is a rarely called function).
As such I think it should be applied.
-- 
Josh Cogliati




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