[Freeciv-Dev] Re: Cleaning up gotohand.c (PR#1068)
[Top] [All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index] [Thread Index]
And here comes the patch itself....
--- Gregory Berkolaiko <gberkolaiko@xxxxxxxxxxx> wrote:
> Old subject: Safe paths for triremes.
>
> Since there were no signs that the management of the CVS is going to
> put
> my patch in immediately, I decided to update it, in the meantime. The
> changes from the previous patch:
>
> * in two places in really_generate_warmap and find_the_shortest_path it
> is no longer assumed that RAILROAD cost is zero. The resulting
> statement
> is ugly due to the legacy from long ago: any IGTER move costs
> SINGLE_MOVE
> on the warmap, not MOVE_COST_ROAD as it should. I haven't got the
> courage to challenge this legacy yet.
> * Extensive variable renaming in find_a_direction. I do really hope
> that
> it makes the code clearer although in some places it is completely over
> my head. Added some comments too, where I know what to say.
>
> ! Neither of the changes affects the program flow !
>
> The old parts of the patch are described below:
>
>
========================================================================
>
> As was requested about a month ago, I am splitting my warmap patch into
> a
> series of smaller patches.
>
> The first part is mostly cleanup.
> Below is the list of features (unfortunately there is no way to comment
> the patch in the patch itself):
>
> File gotohand.c:
> In really_generate_warmap:
> * removed some comments referring to the code which is not there for
> years
> * added some comments (editor, feel free to cut my comments short)
> * removed "silence compiler warning" line because there is no compiler
> warning anymore
> In generate_warmap:
> * comments
> * fixed buggy check
> if (warmap.warunit == punit && !warmap.cost[punit->x][punit->y])
> * removed initializations that do not affect anything
> In dir_ok:
> * removed dir_ok (sorry guys)
> In goto_zoc_ok:
> * as was proposed in the comment, changed the code to take into account
> where we _really_ came from, not to guess the direction from dir_ok
> * changed the comment accordingly
> In find_a_direction:
> * the previous handling of trireme was pathetic. changed it to use
> is_coast_seen. NB: it does not mean that triremes are safe: if
> find_a_direction is given an unsafe destination it is unlikely to help.
> =====================
> General remark:
> AI goto has 3 levels
> 1. Find a destination -- generate_warmap
> takes into account terrain only
> 2. Find routes to destination -- find_the_shortest_path
> takes into account some info about enemy and ZOC
> 3. Choose between the routes -- find_a_direction
> final level of detalisation.
> =====================
> In other places:
> * general cleanup of magic numbers
> * definition of is_coast_seen
>
> Waiting for your comments,
> G.
>
>
>
> __________________________________________________
> Do You Yahoo!?
> Everything you'll ever need on one web page from News and Sport to
> Email and Music Charts
> http://uk.my.yahoo.com
>
>
__________________________________________________
Do You Yahoo!?
Everything you'll ever need on one web page from News and Sport to Email and
Music Charts
http://uk.my.yahoo.com
warmap7_part1v2.diff
Description: warmap7_part1v2.diff
|
|