Complete.Org: Mailing Lists: Archives: freeciv-dev: April 2003:
[Freeciv-Dev] Re: (PR#3936) introducing native coordinates
Home

[Freeciv-Dev] Re: (PR#3936) introducing native coordinates

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: jdorje@xxxxxxxxxxxxxxxxxxxxx
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: (PR#3936) introducing native coordinates
From: Raimar Falke <rf13@xxxxxxxxxxxxxxxxx>
Date: Mon, 7 Apr 2003 11:12:50 +0200

On Sun, Apr 06, 2003 at 04:08:42PM -0500, Jason Dorje Short wrote:
> Raimar Falke wrote:
> >To understand native coordinates it is necessary to understand
> >iso-maps. And the latter is the problem. I did never understood
> >them. Please be gentle with me.
> 
> Understanding iso-native coordinates does require understanding iso-maps.
> 
> >This is what I think iso-maps are: they are a normal map rotated by
> >45° (pi/4). I think that you also need to rotate the directions (enum
> >direction8) for this.
> 
> The rotation is -pi/4.  That way when the iso-view GUI rotates things by 
> pi/4 it looks flat.

Aha.

> The directions *are* rotated, yes.  Note that the DIR_D[XY] arrays would 
> have to be changed for native coordinates, and they would be different 
> between iso and non-iso maps.  The conclusion is that native coordinates 
> are not good for local operations like moving in a single direction, and 
> these are best done in map coordinates.

So what do you think about the following proposal: 
 - we leave the storage of the map tiles unchanged
 - we add an iso bit to the map struct (save and transfer it)
 - we change DIRSTEP, MAPSTEP, is_cardinal (trivial)
 - we doesn't need to change is_normal_map_pos, is_real_map_pos,
 whole_map_iterate and is_border_map_pos
 - we change normalize_map_pos (seems trivial)
 - we change the mapview to do the rotation (non-trivial)

How does this differ from the use of iso-maps you have in mind? What
did I miss? For the mapview changes the notation of native coordinates
help a lot but these is limited to only one set of files
(mapview_common).

        Raimar

-- 
 email: rf13@xxxxxxxxxxxxxxxxx
 "Programming today is a race between software engineers striving to
  build bigger and better idiot-proof programs, and the Universe trying
  to produce bigger and better idiots. So far, the Universe is winning."
    -- Rich Cook



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