Complete.Org: Mailing Lists: Archives: freeciv-dev: June 2003:
[Freeciv-Dev] Re: borders patch (PR#1870)
Home

[Freeciv-Dev] Re: borders patch (PR#1870)

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: undisclosed-recipients: ;
Subject: [Freeciv-Dev] Re: borders patch (PR#1870)
From: "Ben Webb" <ben@xxxxxxxxxxxxxxxxxxxxxx>
Date: Fri, 13 Jun 2003 07:42:06 -0700
Reply-to: rt@xxxxxxxxxxxxxx

On Mon, Jun 09, 2003 at 03:26:07PM -0700, Jason Short wrote:
> --On Monday, June 09, 2003 08:07:23 -0700 Ben Webb 
> <ben@xxxxxxxxxxxxxxxxxxxxxx> wrote:
> > I've just updated the FreecivAC patch to add borders to Freeciv, at
> > http://freecivac.sf.net/ (newborders-20030609.patch).

There is now an updated patch available at the same location, which
covers most of the problems exposed by previous patches. See
doc/README.border_patch for full details.

> 1.  The fog-of-war "bug" is still there.  Is this a bug or a feature?  How 
> should it be handled?

        The borders code determines the national ownership of each tile
at the server, and sends this in tile_info packets to clients. Hence,
the approach has been server POV for some time. The fog of war bug is
caused because the server only sends tile_info packets for non-fogged
tiles; in the latest patch, updated ownership information is now sent
for fogged tiles as well. As I've mentioned previously, this does mean
that you can guess at enemy city locations rather accurately (for
example, if you scout out an island and then move on and leave it fogged,
you can tell as soon as another player establishes a city on that
island, because the tile ownerships will change). I think this is how
SMAC behaves. In any case, my suggestion for a possibly more realistic
solution is to send tile ownership information for non-fogged tiles ONLY
if those tiles are owned by you, or they directly border a tile owned by
you. This way, you know your own borders exactly, but don't learn extra
information about remote players, except where you can see their
territory or they directly border your own tiles. Comments?

> 2.  When loading a savegame, an assertion is encountered.  This seems to be 
> reproducable - if not I have a savegame.  I haven't looked at it closely.

This should be fixed in the latest patch. The last patch erroneously
used city_map coordinates where it should have been using map
coordinates, I think.

> 3.  The code to draw borders in iso view is gui-specific (it is in 
> gui-xxx/mapview.c), but it doesn't need to be.  IMO the 
> tile_draw_borders_iso() function should go in mapview_common and should 
> call a GUI function (draw_line or draw_border) just to draw the line 
> itself.  This is similar to what the non-iso code does.

The current patch does this. It extends the gui_put_line function to
take a line_type argument. This can presently be either LINE_NORMAL (for
normal, 1-pixel-width solid lines) or LINE_BORDER (for whatever the
client wants to use for borders - usually 2-pixel-width dashed lines).
This unifies the iso view border drawing code, and also ensures that
borders look consistent between iso and non-iso modes (previously, iso
mode used dashed lines, while non-iso used solid). Finally, the XAW
client now draws dashed borders also, just like the GTK+ and GTK2
clients.

Testing and bug reports are welcomed... !

        Ben
-- 
ben@xxxxxxxxxxxxxxxxxxxxxx           http://bellatrix.pcl.ox.ac.uk/~ben/
"So you found a girl who thinks really deep thoughts,
 What's so amazing about really deep thoughts?"



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