Complete.Org: Mailing Lists: Archives: freeciv-dev: September 2001:
[Freeciv-Dev] Re: directional system: more magic code cleanups
Home

[Freeciv-Dev] Re: directional system: more magic code cleanups

[Top] [All Lists]

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
To: rf13@xxxxxxxxxxxxxxxxxxxxxx
Cc: freeciv-dev@xxxxxxxxxxx
Subject: [Freeciv-Dev] Re: directional system: more magic code cleanups
From: Gregory Berkolaiko <gberkolaiko@xxxxxxxxxxx>
Date: Mon, 17 Sep 2001 12:01:50 +0100 (BST)

 --- Raimar Falke <hawk@xxxxxxxxxxxxxxxxxxxxxxx> wrote: 
> On Mon, Sep 17, 2001 at 11:13:03AM +0100, Gregory Berkolaiko wrote:
> > there is a nice mathematical way to code dir_ok:
> > if diff_x, diff_y and dir are what they are in the current function
> > then the "scalar product"
> > 
> >         diff_x*DIR_DX[dir] + diff_y*DIR_DY[dir]
> > 
> > is positive whenever direction is ok.  And you don't need any
> switches.
> 
> Very nice. Good spotting. For clarity: s/positive/>=0/. There may be

oops! I thought only 3 directions are ok
obviously I didn't read the comment :(

> extra documentation about this (for a given diff vector there are
> exactly 5 directions ok. These are centered around the given diff
> vector. The "outmost" still valid directions are orthogonal to the
> given diff vector. scalar product bla bla ...)
> 
> > However Ross' patch might be more advanced than this.
> 
> No I don't think so ;)

well, I think he had some crafty way to implement straightest direction
and then he would compare dir with the straightest_dir.  This cuts out
the computation of diff_x and diff_y and can therefore be faster / more
portable.  Anyway, let's wait until he wakes up and checks his mail :)

G.

____________________________________________________________
Do You Yahoo!?
Get your free @yahoo.co.uk address at http://mail.yahoo.co.uk
or your free @yahoo.ie address at http://mail.yahoo.ie


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