[Freeciv-Dev] Re: (PR#3936) introducing native coordinates
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Mon, Apr 07, 2003 at 01:06:17PM -0500, Jason Dorje Short wrote:
> Raimar Falke wrote:
> >On Sun, Apr 06, 2003 at 04:08:42PM -0500, Jason Dorje Short wrote:
> >>Raimar Falke wrote:
>
> >>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).
>
> I don't quite understand your suggestion. Are you saying all operations
> be done in native coordinates, and "map" coordinates be dropped? The
> problem with this is most local operations become much more difficult,
> since the local tile geometry is not preserved. For instance
> adjc_dir_iterate (via DIR_D[XY]), square_iterate, map_to_city_map,
> map_distance, etc. This will require many changes to the code, and will
> be error-prone.
My suggestion is to leave a lot of the code untouched (see the list
above). A layer is needed to express the iso-map. But only a thin
layer. I _think_ that this layer will only consists of the dir
transformation. So we would have a "normal map" direction and a
(map)view direction and the relation is either identity (non-iso maps)
or dir_cw (iso-maps). This layer is thin and a lot thinner than the
layer you describe. I'm not sure that my layer is complete. So I'm
still asking for all the effects of the iso-map. But if it is only
rotating is should be not much more.
> Ross any my idea is that the map struct gets three bits of information:
> xwrap, ywrap, and iso. The iso bit only needs to be checked in a few
> places: map_to_native_pos, native_to_map_pos, unnormalize_map_pos, and
> clip_mapview_window (or whatever this operation ends up being called).
>
> The xwrap and ywrap bit is checked in a few other places: particularly
> normalize_map_pos nearest_real_pos.
>
> Native positions are only used for a few operations (the vast majority
> continue to use map or indexed positions):
>
> - whole_map_iterate
> - gamelog
> - savegames
> - mapgen, all over the place
> - normalize_map_pos, nearest_real_pos
> - the map overview
- whole_map_iterate
- savegames
- gamelog
Unchanged under my proposal.
> - mapgen, all over the place
Needs changes to look good but will also work without changes.
> - normalize_map_pos
IMHO no changes needed.
> nearest_real_pos
Changes needed.
> - the map overview
Changes needed. Here it may be useful to operate on rotated
coordinates.
Raimar
--
email: rf13@xxxxxxxxxxxxxxxxx
"Heuer's Law: Any feature is a bug unless it can be turned off."
- [Freeciv-Dev] (PR#3936) introducing native coordinates, Jason Short, 2003/04/04
- Message not available
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Jason Dorje Short, 2003/04/06
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Raimar Falke, 2003/04/07
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Jason Dorje Short, 2003/04/07
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates,
Raimar Falke <=
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Jason Dorje Short, 2003/04/08
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Raimar Falke, 2003/04/09
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Jason Dorje Short, 2003/04/09
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Raimar Falke, 2003/04/10
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Jason Dorje Short, 2003/04/10
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Raimar Falke, 2003/04/10
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Raimar Falke, 2003/04/11
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Jason Dorje Short, 2003/04/11
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Raimar Falke, 2003/04/11
- [Freeciv-Dev] Re: (PR#3936) introducing native coordinates, Jason Dorje Short, 2003/04/11
|
|