[Freeciv-Dev] Re: to wrap or not to wrap?
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
On Wed, Oct 10, 2001 at 04:34:09PM -0400, Jason Dorje Short wrote:
> Raimar Falke wrote:
> >
> > On Wed, Oct 10, 2001 at 12:27:06PM -0400, Jason Dorje Short wrote:
> > > Raimar Falke wrote:
>
> > > The "correct" way to do the drawing is like this, IMO:
> > >
> > > for (x=0; x<width; x++)
> > > for (y=0; y<height; y++) {
> > > x1 = x0+x, y1 = y0+y;
> > > if (normalize_map_pos(&x1, &y1))
> > > draw_tile(x1, y1);
> > > else
> > > draw_black_tile(x1, y1);
> > > }
> > >
> > > This uses only mathematically correct operations on the map position.
> > > In the case of the overhead view it is still easy to avoid drawing tiles
> > > multiple times [1] -
> >
> > > you just restrict the size of the map canvas [2].
> >
> > What if in the above loop the width isn't the map canvas width, but
> > the map.xsize? It should be fine if you blank all tiles before.
>
> It's a problem, unfortunately. I believe a clean mathematical solution
> is possible.
>
> > > In the case of the isometric view the math would be harder but it would
> > > still be possible.
> > >
> > > Gaute pointed out before that it doesn't matter which set of coordinates
> > > you choose to be proper/normal - it's just a convenience to make
> > > everything happen within map.xsize/map.ysize. Mathematically this is
> > > correct, but wrap_map_pos is not mathematically clean - the client MUST
> > > have each vector returned by wrap_map_pos be exactly correct.
> > >
> > > [1] Personally, I would prefer to have tiles drawn multiple times. But
> > > that's just me...
> >
> > If it is cleaner what is needed for one-drawing and what for the
> > multiple drawing I don't have a problem. This can be a compile or
> > run-time constant. However it looks to me that the easier goal of the
> > next step is the one-time draw solution.
> >
> > > [2] This really seems like the obvious solution. Does anyone know why
> > > it wasn't used before?
> >
> > So in overall we don't need the method you suggested?!
>
> It depends on what you mean by "need" and "method I suggested" :-).
>
> We don't need wrap_map_pos() (originally proposed by Gaute, I believe)
> if we fix the client code. However this will be a big job.
>
> We don't need to rework the client code (as described above) if we use
> wrap_map_pos(). However this will mean only simple topologies can be
> used.
>
> I'm inclined to go with wrap_map_pos() for now, although I would
> eventually like to see it removed.
No. This is one band-aid in exchange against another one. We know the
correct solution.
Raimar
--
email: rf13@xxxxxxxxxxxxxxxxx
A life? Cool! Where can I download one?
- [Freeciv-Dev] to wrap or not to wrap?, Jason Dorje Short, 2001/10/10
- [Freeciv-Dev] Re: to wrap or not to wrap?, Ross W. Wetmore, 2001/10/12
- [Freeciv-Dev] Re: to wrap or not to wrap?, Jason Dorje Short, 2001/10/13
- [Freeciv-Dev] Re: to wrap or not to wrap?, Ross W. Wetmore, 2001/10/15
- [Freeciv-Dev] Re: to wrap or not to wrap?, Jason Dorje Short, 2001/10/15
- [Freeciv-Dev] Re: to wrap or not to wrap?, Jason Dorje Short, 2001/10/15
- [Freeciv-Dev] Re: to wrap or not to wrap?, Raimar Falke, 2001/10/15
- [Freeciv-Dev] Re: to wrap or not to wrap?, Jason Dorje Short, 2001/10/15
- [Freeciv-Dev] Re: to wrap or not to wrap?, Raimar Falke, 2001/10/15
- [Freeciv-Dev] Re: to wrap or not to wrap?, Ross W. Wetmore, 2001/10/15
- [Freeciv-Dev] Re: to wrap or not to wrap?, Ross W. Wetmore, 2001/10/15
|
|