Complete.Org: Mailing Lists: Archives: freeciv-dev: December 2002:
[Freeciv-Dev] Re: (PR#2467) Tile marking bug in serve
Home

[Freeciv-Dev] Re: (PR#2467) Tile marking bug in serve

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: Christian Knoke <chrisk@xxxxxxxx>
Subject: [Freeciv-Dev] Re: (PR#2467) Tile marking bug in serve
From: "Raimar Falke via RT" <rt@xxxxxxxxxxxxxx>
Date: Mon, 16 Dec 2002 08:48:17 -0800
Reply-to: rt@xxxxxxxxxxxxxx

On Sun, Dec 01, 2002 at 11:18:44AM -0800, Guest via RT wrote:
> 
> 1.14beta CVS 01 DEC 2002 Gtk 1.2                                  
> 
> Use savegame in incoming: tilebug.sav.gz
> 
> Login all four players. Call meeting, Shaka gives Zunguin to Hammurabi. 
> Finish turn in all clients.
> 
> Server says:
> 
> 1: Tile at Zunguin->1,3 marked as unavailable but seems to be available!
> 
> Christian

And the fix. This _may_ break other things. If this happens we have to
document this new dependency.

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
  The Software is not designed or licensed for use in on-line control
  equipment in hazardous environments, such as operation of nuclear
  facilities, aircraft navigation or control, or direct life support
  machines. 
    -- Java Compiler Compiler Download and License Agreement

Index: server/citytools.c
===================================================================
RCS file: /home/freeciv/CVS/freeciv/server/citytools.c,v
retrieving revision 1.199
diff -u -u -r1.199 citytools.c
--- server/citytools.c  2002/12/04 17:47:48     1.199
+++ server/citytools.c  2002/12/16 16:39:13
@@ -900,6 +900,14 @@
   }
 
   city_refresh(pcity);
+
+  /* 
+   * maybe_make_first_contact have to be called before
+   * update_city_tile_status_map below since the diplomancy status can
+   * influence if a tile is available. 
+   */
+  maybe_make_first_contact(pcity->x, pcity->y, ptaker);
+
   map_city_radius_iterate(pcity->x, pcity->y, x, y) {
     update_city_tile_status_map(pcity, x, y);
   } map_city_radius_iterate_end;
@@ -937,7 +945,6 @@
   }
 
   map_fog_pseudo_city_area(pgiver, pcity->x, pcity->y);
-  maybe_make_first_contact(pcity->x, pcity->y, ptaker);
 
   gamelog(GAMELOG_LOSEC, _("%s lose %s (%i,%i)"),
          get_nation_name_plural(pgiver->nation), pcity->name, pcity->x,

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