Complete.Org: Mailing Lists: Archives: freeciv-dev: January 2003:
[Freeciv-Dev] Re: (PR#2608) replace key_move_xxx with key_unit_move
Home

[Freeciv-Dev] Re: (PR#2608) replace key_move_xxx with key_unit_move

[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#2608) replace key_move_xxx with key_unit_move
From: "rwetmore@xxxxxxxxxxxx via RT" <rt@xxxxxxxxxxxxxx>
Date: Mon, 27 Jan 2003 16:09:48 -0800
Reply-to: rt@xxxxxxxxxxxxxx

There is still the problem that you convert from a gui_dir to ... a gui_dir.

You should use different enum direction values to keep track of when you
are using one direction model (GUI) and the other (MAP) otherwise the
conversions don't make a whole lot of sense to the uninitiated. And maybe
moreso you can't tell from the code when you have done a conversion or are
using converted values unless you track back through the entire flow path.
If one uses DIR8_NORTH it should be clear which direction one is talking
about, i.e. GUI or MAP.

Cheers,
RossW
=====

Jason Short via RT wrote:
> Jason Short via RT wrote:
> 
>>rwetmore@xxxxxxxxxxxx via RT wrote:
> 
> 
>>Now gui_to_map_dir and map_to_gui_dir are both provided, in 
>>mapview_common.  Eventually they may move into climap.[ch] (once these 
>>fies exist).
> 
> 
> Umm, did I say climap.[ch] didn't exist?
> 
> This patch is identical to v2, I've just moved the functions into climap.
> 
> Ross, can you live with this?
> 
> jason
> 
> 
> 
> ------------------------------------------------------------------------
> 
> ? client/mapview_common.c-clip_mapview_window
> ? client/gui-gtk/diff
> Index: client/climap.c
> ===================================================================
> RCS file: /home/freeciv/CVS/freeciv/client/climap.c,v
> retrieving revision 1.1
> diff -u -r1.1 climap.c
> --- client/climap.c   2003/01/05 15:34:04     1.1
> +++ client/climap.c   2003/01/27 22:41:12
> @@ -19,6 +19,7 @@
>  #include "shared.h"
>  
>  #include "climap.h"
> +#include "tilespec.h"           /* is_isometric */
>  
>  /***************************************************************
>   pplayer is only used in the server
> @@ -57,4 +58,38 @@
>  enum known_type tile_get_known(int x, int y)
>  {
>    return (enum known_type) map_get_tile(x, y)->known;
> +}
> +
> +/**************************************************************************
> +  Convert the given GUI direction into a map direction.
> +
> +  GUI directions correspond to the current viewing interface, so that
> +  DIR8_NORTH is up on the mapview.  map directions correspond to the
> +  underlying map tiles, so that DIR8_NORTH means moving with a vector of
> +  (0,-1).  Neither necessarily corresponds to "north" on the underlying
> +  world (once iso-maps are possible).
> +
> +  See also map_to_gui_dir().
> +**************************************************************************/
> +enum direction8 gui_to_map_dir(enum direction8 gui_dir)
> +{
> +  if (is_isometric) {
> +    return dir_ccw(gui_dir);
> +  } else {
> +    return gui_dir;
> +  }
> +}
> +
> +/**************************************************************************
> +  Convert the given GUI direction into a map direction.
> +
> +  See also gui_to_map_dir().
> +**************************************************************************/
> +enum direction8 map_to_gui_dir(enum direction8 map_dir)
> +{
> +  if (is_isometric) {
> +    return dir_cw(map_dir);
> +  } else {
> +    return map_dir;
> +  }
>  }
> Index: client/climap.h
> ===================================================================
> RCS file: /home/freeciv/CVS/freeciv/client/climap.h,v
> retrieving revision 1.1
> diff -u -r1.1 climap.h
> --- client/climap.h   2003/01/05 15:34:04     1.1
> +++ client/climap.h   2003/01/27 22:41:12
> @@ -14,8 +14,12 @@
>  #ifndef FC__CLIMAP_H
>  #define FC__CLIMAP_H
>  
> +#include "map.h"                /* enum direction8 */
>  #include "terrain.h"            /* enum known_type */
>  
>  enum known_type tile_get_known(int x, int y);
> +
> +enum direction8 gui_to_map_dir(enum direction8 gui_dir);
> +enum direction8 map_to_gui_dir(enum direction8 map_dir);
>  
>  #endif
> Index: client/control.c
> ===================================================================
> RCS file: /home/freeciv/CVS/freeciv/client/control.c,v
> retrieving revision 1.91
> diff -u -r1.91 control.c
> --- client/control.c  2003/01/16 21:04:25     1.91
> +++ client/control.c  2003/01/27 22:41:13
> @@ -1407,75 +1407,15 @@
>  }
>  
>  /**************************************************************************
> -...
> +  Move the focus unit in the given direction.  Here directions are
> +  defined according to the GUI, so that north is "up" in the interface.
>  **************************************************************************/
> -void key_move_north(void)
> +void key_unit_move(enum direction8 gui_dir)
>  {
> -  if(get_unit_in_focus())
> -    request_move_unit_direction(punit_focus, DIR8_NORTH);
> -}
> -
> -/**************************************************************************
> -...
> -**************************************************************************/
> -void key_move_north_east(void)
> -{
> -  if(get_unit_in_focus())
> -    request_move_unit_direction(punit_focus, DIR8_NORTHEAST);
> -}
> -
> -/**************************************************************************
> -...
> -**************************************************************************/
> -void key_move_east(void)
> -{
> -  if(get_unit_in_focus())
> -    request_move_unit_direction(punit_focus, DIR8_EAST);
> -}
> -
> -/**************************************************************************
> -...
> -**************************************************************************/
> -void key_move_south_east(void)
> -{
> -  if(get_unit_in_focus())
> -     request_move_unit_direction(punit_focus, DIR8_SOUTHEAST);
> -}
> -
> -/**************************************************************************
> -...
> -**************************************************************************/
> -void key_move_south(void)
> -{
> -  if(get_unit_in_focus())
> -     request_move_unit_direction(punit_focus, DIR8_SOUTH);
> -}
> -
> -/**************************************************************************
> -...
> -**************************************************************************/
> -void key_move_south_west(void)
> -{
> -  if(get_unit_in_focus())
> -     request_move_unit_direction(punit_focus, DIR8_SOUTHWEST);
> -}
> -
> -/**************************************************************************
> -...
> -**************************************************************************/
> -void key_move_west(void)
> -{
> -  if(get_unit_in_focus())
> -    request_move_unit_direction(punit_focus, DIR8_WEST);
> -}
> -
> -/**************************************************************************
> -...
> -**************************************************************************/
> -void key_move_north_west(void)
> -{
> -  if(get_unit_in_focus())
> -     request_move_unit_direction(punit_focus, DIR8_NORTHWEST);
> +  if (get_unit_in_focus()) {
> +    enum direction8 map_dir = gui_to_map_dir(gui_dir);
> +    request_move_unit_direction(get_unit_in_focus(), map_dir);
> +  }
>  }
>  
>  /**************************************************************************
> Index: client/control.h
> ===================================================================
> RCS file: /home/freeciv/CVS/freeciv/client/control.h,v
> retrieving revision 1.30
> diff -u -r1.30 control.h
> --- client/control.h  2002/11/22 18:52:12     1.30
> +++ client/control.h  2003/01/27 22:41:13
> @@ -116,14 +116,7 @@
>  void key_fog_of_war_toggle(void);
>  void key_end_turn(void);
>  void key_map_grid_toggle(void);
> -void key_move_north(void);
> -void key_move_north_east(void);
> -void key_move_east(void);
> -void key_move_south_east(void);
> -void key_move_south(void);
> -void key_move_south_west(void);
> -void key_move_west(void);
> -void key_move_north_west(void);
> +void key_unit_move(enum direction8 gui_dir);
>  void key_unit_airbase(void);
>  void key_unit_auto_attack(void);
>  void key_unit_auto_explore(void);
> Index: client/gui-gtk/gui_main.c
> ===================================================================
> RCS file: /home/freeciv/CVS/freeciv/client/gui-gtk/gui_main.c,v
> retrieving revision 1.125
> diff -u -r1.125 gui_main.c
> --- client/gui-gtk/gui_main.c 2003/01/27 22:27:58     1.125
> +++ client/gui-gtk/gui_main.c 2003/01/27 22:41:14
> @@ -246,111 +246,63 @@
>      return keypress;
>    }
>  
> -  if (is_isometric && !client_is_observer()) {
> +  if (!client_is_observer()) {
>      switch (ev->keyval) {
>        case GDK_Up:
>        case GDK_KP_Up:
>        case GDK_8:
> -      case GDK_KP_8:                 key_move_north_west();  break;
> +      case GDK_KP_8:
> +     key_unit_move(DIR8_NORTH);
> +     break;
>  
>        case GDK_Page_Up:
>        case GDK_KP_Page_Up:
>        case GDK_9:
> -      case GDK_KP_9:                 key_move_north();       break;
> +      case GDK_KP_9:
> +     key_unit_move(DIR8_NORTHEAST);
> +     break;
>  
>        case GDK_Right:
>        case GDK_KP_Right:
>        case GDK_6:
> -      case GDK_KP_6:                 key_move_north_east();  break;
> +      case GDK_KP_6:
> +     key_unit_move(DIR8_EAST);
> +     break;
>  
>        case GDK_Page_Down:
>        case GDK_KP_Page_Down:
>        case GDK_3:
> -      case GDK_KP_3:                 key_move_east();        break;
> +      case GDK_KP_3:
> +     key_unit_move(DIR8_SOUTHEAST);
> +     break;
>  
>        case GDK_Down:
>        case GDK_KP_Down:
>        case GDK_2:
> -      case GDK_KP_2:                 key_move_south_east();  break;
> +      case GDK_KP_2:
> +     key_unit_move(DIR8_SOUTH);
> +     break;
>  
>        case GDK_End:
>        case GDK_KP_End:
>        case GDK_1:
> -      case GDK_KP_1:                 key_move_south();       break;
> +      case GDK_KP_1:
> +     key_unit_move(DIR8_SOUTHWEST);
> +     break;
>  
>        case GDK_Left:
>        case GDK_KP_Left:
>        case GDK_4:
> -      case GDK_KP_4:                 key_move_south_west();  break;
> +      case GDK_KP_4:
> +     key_unit_move(DIR8_WEST);
> +     break;
>  
>        case GDK_Home:
> -      case GDK_KP_Home:
> -      case GDK_7:
> -      case GDK_KP_7:                 key_move_west();        break;
> - 
> -      case GDK_KP_Begin:
> -      case GDK_5:
> -      case GDK_KP_5:
> -        focus_to_next_unit();
> -        break;
> -  
> -      case GDK_Return:
> -      case GDK_KP_Enter:
> -        key_end_turn();
> -        break;
> -  
> -      case GDK_Escape:
> -        key_cancel_action();
> -        break;
> -  
> -      case GDK_t:
> -        key_city_workers(w, ev);
> -        break;
> -
> -      default:
> -        return FALSE;
> -    }
> -  } else if (!client_is_observer()) {
> -    switch (ev->keyval) {
> -      case GDK_Up:
> -      case GDK_KP_Up:
> -      case GDK_8:
> -      case GDK_KP_8:                 key_move_north();       break;
> -
> -      case GDK_Page_Up:
> -      case GDK_KP_Page_Up:
> -      case GDK_9:
> -      case GDK_KP_9:                 key_move_north_east();  break;
> -
> -      case GDK_Right:
> -      case GDK_KP_Right:
> -      case GDK_6:
> -      case GDK_KP_6:                 key_move_east();        break;
> -
> -      case GDK_Page_Down:
> -      case GDK_KP_Page_Down:
> -      case GDK_3:
> -      case GDK_KP_3:                 key_move_south_east();  break;
> -
> -      case GDK_Down:
> -      case GDK_KP_Down:
> -      case GDK_2:
> -      case GDK_KP_2:                 key_move_south();       break;
> -
> -      case GDK_End:
> -      case GDK_KP_End:
> -      case GDK_1:
> -      case GDK_KP_1:                 key_move_south_west();  break;
> -
> -      case GDK_Left:
> -      case GDK_KP_Left:
> -      case GDK_4:
> -      case GDK_KP_4:                 key_move_west();        break;
> -
> -      case GDK_Home:
>        case GDK_KP_Home:              
>        case GDK_7:
> -      case GDK_KP_7:                 key_move_north_west();  break;
> +      case GDK_KP_7:
> +     key_unit_move(DIR8_NORTHWEST);
> +     break;
>  
>        case GDK_KP_Begin:
>        case GDK_Return:
> Index: client/gui-gtk-2.0/gui_main.c
> ===================================================================
> RCS file: /home/freeciv/CVS/freeciv/client/gui-gtk-2.0/gui_main.c,v
> retrieving revision 1.38
> diff -u -r1.38 gui_main.c
> --- client/gui-gtk-2.0/gui_main.c     2003/01/27 22:27:58     1.38
> +++ client/gui-gtk-2.0/gui_main.c     2003/01/27 22:41:15
> @@ -338,111 +338,63 @@
>      return keypress;
>    }
>  
> -  if (is_isometric && !client_is_observer()) {
> +  if (!client_is_observer()) {
>      switch (ev->keyval) {
>        case GDK_Up:
>        case GDK_KP_Up:
>        case GDK_8:
> -      case GDK_KP_8:                 key_move_north_west();  break;
> +      case GDK_KP_8:
> +     key_unit_move(DIR8_NORTH);
> +     break;
>  
>        case GDK_Page_Up:
>        case GDK_KP_Page_Up:
>        case GDK_9:
> -      case GDK_KP_9:                 key_move_north();       break;
> +      case GDK_KP_9:
> +     key_unit_move(DIR8_NORTHEAST);
> +     break;
>  
>        case GDK_Right:
>        case GDK_KP_Right:
>        case GDK_6:
> -      case GDK_KP_6:                 key_move_north_east();  break;
> +      case GDK_KP_6:
> +     key_unit_move(DIR8_EAST);
> +     break;
>  
>        case GDK_Page_Down:
>        case GDK_KP_Page_Down:
>        case GDK_3:
> -      case GDK_KP_3:                 key_move_east();        break;
> +      case GDK_KP_3:
> +     key_unit_move(DIR8_SOUTHEAST);
> +     break;
>  
>        case GDK_Down:
>        case GDK_KP_Down:
>        case GDK_2:
> -      case GDK_KP_2:                 key_move_south_east();  break;
> +      case GDK_KP_2:
> +     key_unit_move(DIR8_SOUTH);
> +     break;
>  
>        case GDK_End:
>        case GDK_KP_End:
>        case GDK_1:
> -      case GDK_KP_1:                 key_move_south();       break;
> +      case GDK_KP_1:
> +     key_unit_move(DIR8_SOUTHWEST);
> +     break;
>  
>        case GDK_Left:
>        case GDK_KP_Left:
>        case GDK_4:
> -      case GDK_KP_4:                 key_move_south_west();  break;
> +      case GDK_KP_4:
> +     key_unit_move(DIR8_WEST);
> +     break;
>  
>        case GDK_Home:
> -      case GDK_KP_Home:
> -      case GDK_7:
> -      case GDK_KP_7:                 key_move_west();        break;
> - 
> -      case GDK_KP_Begin:
> -      case GDK_5:
> -      case GDK_KP_5:
> -        focus_to_next_unit();
> -        break;
> -  
> -      case GDK_Return:
> -      case GDK_KP_Enter:
> -        key_end_turn();
> -        break;
> -  
> -      case GDK_Escape:
> -        key_cancel_action();
> -        break;
> -  
> -      case GDK_t:
> -        key_city_workers(w, ev);
> -        break;
> -
> -      default:
> -        return FALSE;
> -    }
> -  } else if (!client_is_observer()) {
> -    switch (ev->keyval) {
> -      case GDK_Up:
> -      case GDK_KP_Up:
> -      case GDK_8:
> -      case GDK_KP_8:                 key_move_north();       break;
> -
> -      case GDK_Page_Up:
> -      case GDK_KP_Page_Up:
> -      case GDK_9:
> -      case GDK_KP_9:                 key_move_north_east();  break;
> -
> -      case GDK_Right:
> -      case GDK_KP_Right:
> -      case GDK_6:
> -      case GDK_KP_6:                 key_move_east();        break;
> -
> -      case GDK_Page_Down:
> -      case GDK_KP_Page_Down:
> -      case GDK_3:
> -      case GDK_KP_3:                 key_move_south_east();  break;
> -
> -      case GDK_Down:
> -      case GDK_KP_Down:
> -      case GDK_2:
> -      case GDK_KP_2:                 key_move_south();       break;
> -
> -      case GDK_End:
> -      case GDK_KP_End:
> -      case GDK_1:
> -      case GDK_KP_1:                 key_move_south_west();  break;
> -
> -      case GDK_Left:
> -      case GDK_KP_Left:
> -      case GDK_4:
> -      case GDK_KP_4:                 key_move_west();        break;
> -
> -      case GDK_Home:
>        case GDK_KP_Home:              
>        case GDK_7:
> -      case GDK_KP_7:                 key_move_north_west();  break;
> +      case GDK_KP_7:
> +     key_unit_move(DIR8_NORTHWEST);
> +     break;
>  
>        case GDK_KP_Begin:
>        case GDK_Return:
> Index: client/gui-mui/gui_main.c
> ===================================================================
> RCS file: /home/freeciv/CVS/freeciv/client/gui-mui/gui_main.c,v
> retrieving revision 1.69
> diff -u -r1.69 gui_main.c
> --- client/gui-mui/gui_main.c 2003/01/01 11:51:33     1.69
> +++ client/gui-mui/gui_main.c 2003/01/27 22:41:15
> @@ -343,36 +343,31 @@
>  {
>    if (*value)
>    {
> -    if (is_isometric)
> -    {
> -      switch (*value)
> -      {
> -     case UNIT_NORTH: key_move_north_west(); break;
> -     case UNIT_SOUTH: key_move_south_east(); break;
> -     case UNIT_EAST: key_move_north_east(); break;
> -     case UNIT_WEST: key_move_south_west(); break;
> -     case UNIT_NORTH_EAST: key_move_north(); break;
> -     case UNIT_NORTH_WEST: key_move_west(); break;
> -     case UNIT_SOUTH_EAST: key_move_east(); break;
> -     case UNIT_SOUTH_WEST: key_move_south();break;
> -      }
> -    } else
> -    {
> -      switch (*value)
> -      {
> -     case UNIT_NORTH: key_move_north(); break;
> -     case UNIT_SOUTH: key_move_south(); break;
> -     case UNIT_EAST: key_move_east(); break;
> -     case UNIT_WEST: key_move_west(); break;
> -     case UNIT_NORTH_EAST: key_move_north_east(); break;
> -     case UNIT_NORTH_WEST: key_move_north_west(); break;
> -     case UNIT_SOUTH_EAST: key_move_south_east(); break;
> -     case UNIT_SOUTH_WEST: key_move_south_west();break;
> -      }
> -    }
> -
> -    switch (*value)
> -    {
> +    switch (*value) {
> +    case UNIT_NORTH:
> +      key_unit_move(DIR8_NORTH);
> +      break;
> +    case UNIT_SOUTH:
> +      key_unit_move(DIR8_SOUTH);
> +      break;
> +    case UNIT_EAST:
> +      key_unit_move(DIR8_EAST);
> +      break;
> +    case UNIT_WEST:
> +      key_unit_move(DIR8_WEST);
> +      break;
> +    case UNIT_NORTH_EAST:
> +      key_unit_move(DIR8_NORTHEAST);
> +      break;
> +    case UNIT_NORTH_WEST:
> +      key_unit_move(DIR8_NORTHWEST);
> +      break;
> +    case UNIT_SOUTH_EAST:
> +      key_unit_move(DIR8_SOUTHEAST);
> +      break;
> +    case UNIT_SOUTH_WEST:
> +      key_unit_move(DIR8_SOUTHWEST);
> +      break;
>      case UNIT_POPUP_CITY:
>        {
>       struct unit *punit;
> Index: client/gui-sdl/gui_main.c
> ===================================================================
> RCS file: /home/freeciv/CVS/freeciv/client/gui-sdl/gui_main.c,v
> retrieving revision 1.8
> diff -u -r1.8 gui_main.c
> --- client/gui-sdl/gui_main.c 2003/01/19 20:05:54     1.8
> +++ client/gui-sdl/gui_main.c 2003/01/27 22:41:16
> @@ -239,42 +239,42 @@
>           break;
>         case SDLK_UP:
>         case SDLK_KP8:
> -         key_move_north_west();
> +         key_unit_move(DIR8_NORTH);
>           break;
>  
>         case SDLK_PAGEUP:
>         case SDLK_KP9:
> -         key_move_north();
> +         key_unit_move(DIR8_NORTHEAST);
>           break;
>  
>         case SDLK_RIGHT:
>         case SDLK_KP6:
> -         key_move_north_east();
> +         key_unit_move(DIR8_EAST);
>           break;
>  
>         case SDLK_PAGEDOWN:
>         case SDLK_KP3:
> -         key_move_east();
> +         key_unit_move(DIR8_SOUTHEAST);
>           break;
>  
>         case SDLK_DOWN:
>         case SDLK_KP2:
> -         key_move_south_east();
> +         key_unit_move(DIR8_SOUTH);
>           break;
>  
>         case SDLK_END:
>         case SDLK_KP1:
> -         key_move_south();
> +         key_unit_move(DIR8_SOUTHWEST);
>           break;
>  
>         case SDLK_LEFT:
>         case SDLK_KP4:
> -         key_move_south_west();
> +         key_unit_move(DIR8_WEST);
>           break;
>  
>         case SDLK_HOME:
>         case SDLK_KP7:
> -         key_move_west();
> +         key_unit_move(DIR8_NORTHWEST);
>           break;
>  
>         case SDLK_KP5:
> Index: client/gui-win32/menu.c
> ===================================================================
> RCS file: /home/freeciv/CVS/freeciv/client/gui-win32/menu.c,v
> retrieving revision 1.14
> diff -u -r1.14 menu.c
> --- client/gui-win32/menu.c   2003/01/23 21:39:32     1.14
> +++ client/gui-win32/menu.c   2003/01/27 22:41:16
> @@ -469,32 +469,34 @@
>  **************************************************************************/
>  static void handle_numpad(int code)
>  {
> -  if (is_isometric) {
> -    switch (code)
> -      {
> -      case IDM_NUMPAD_BASE+1: key_move_south(); break;
> -      case IDM_NUMPAD_BASE+2: key_move_south_east(); break;
> -      case IDM_NUMPAD_BASE+3: key_move_east(); break;
> -      case IDM_NUMPAD_BASE+4: key_move_south_west(); break;
> -      case IDM_NUMPAD_BASE+5: focus_to_next_unit(); break;
> -      case IDM_NUMPAD_BASE+6: key_move_north_east(); break;
> -      case IDM_NUMPAD_BASE+7: key_move_west(); break;
> -      case IDM_NUMPAD_BASE+8: key_move_north_west(); break;
> -      case IDM_NUMPAD_BASE+9: key_move_north(); break;
> -      }
> -  } else {
> -    switch (code) 
> -      { 
> -      case IDM_NUMPAD_BASE+1: key_move_south_west(); break;
> -      case IDM_NUMPAD_BASE+2: key_move_south(); break;
> -      case IDM_NUMPAD_BASE+3: key_move_south_east(); break;
> -      case IDM_NUMPAD_BASE+4: key_move_west(); break;
> -      case IDM_NUMPAD_BASE+5: focus_to_next_unit(); break;
> -      case IDM_NUMPAD_BASE+6: key_move_east(); break;
> -      case IDM_NUMPAD_BASE+7: key_move_north_west(); break;
> -      case IDM_NUMPAD_BASE+8: key_move_north(); break;
> -      case IDM_NUMPAD_BASE+9: key_move_north_east(); break;
> -      }
> +  switch (code) { 
> +  case IDM_NUMPAD_BASE + 1:
> +    key_unit_move(DIR8_SOUTHWEST);
> +    break;
> +  case IDM_NUMPAD_BASE + 2:
> +    key_unit_move(DIR8_SOUTH);
> +    break;
> +  case IDM_NUMPAD_BASE + 3:
> +    key_unit_move(DIR8_SOUTHEAST);
> +    break;
> +  case IDM_NUMPAD_BASE + 4:
> +    key_unit_move(DIR8_WEST);
> +    break;
> +  case IDM_NUMPAD_BASE + 5:
> +    focus_to_next_unit();
> +    break;
> +  case IDM_NUMPAD_BASE + 6:
> +    key_unit_move(DIR8_EAST);
> +    break;
> +  case IDM_NUMPAD_BASE + 7:
> +    key_unit_move(DIR8_NORTHWEST);
> +    break;
> +  case IDM_NUMPAD_BASE + 8:
> +    key_unit_move(DIR8_NORTH);
> +    break;
> +  case IDM_NUMPAD_BASE + 9:
> +    key_unit_move(DIR8_NORTHEAST);
> +    break;
>    }
>  }
>  
> Index: client/gui-xaw/actions.c
> ===================================================================
> RCS file: /home/freeciv/CVS/freeciv/client/gui-xaw/actions.c,v
> retrieving revision 1.13
> diff -u -r1.13 actions.c
> --- client/gui-xaw/actions.c  2003/01/01 11:51:34     1.13
> +++ client/gui-xaw/actions.c  2003/01/27 22:41:16
> @@ -153,42 +153,42 @@
>  
>  static void xaw_key_move_north(Widget w, XEvent *event, String *argv, 
> Cardinal *argc)
>  {
> -  key_move_north();
> +  key_unit_move(DIR8_NORTH);
>  }
>  
>  static void xaw_key_move_north_east(Widget w, XEvent *event, String *argv, 
> Cardinal *argc)
>  {
> -  key_move_north_east();
> +  key_unit_move(DIR8_NORTHEAST);
>  }
>  
>  static void xaw_key_move_east(Widget w, XEvent *event, String *argv, 
> Cardinal *argc)
>  {
> -  key_move_east();
> +  key_unit_move(DIR8_EAST);
>  }
>  
>  static void xaw_key_move_south_east(Widget w, XEvent *event, String *argv, 
> Cardinal *argc)
>  {
> -  key_move_south_east();
> +  key_unit_move(DIR8_SOUTHEAST);
>  }
>  
>  static void xaw_key_move_south(Widget w, XEvent *event, String *argv, 
> Cardinal *argc)
>  {
> -  key_move_south();
> +  key_unit_move(DIR8_SOUTH);
>  }
>  
>  static void xaw_key_move_south_west(Widget w, XEvent *event, String *argv, 
> Cardinal *argc)
>  {
> -  key_move_south_west();
> +  key_unit_move(DIR8_SOUTHWEST);
>  }
>  
>  static void xaw_key_move_west(Widget w, XEvent *event, String *argv, 
> Cardinal *argc)
>  {
> -  key_move_west();
> +  key_unit_move(DIR8_WEST);
>  }
>  
>  static void xaw_key_move_north_west(Widget w, XEvent *event, String *argv, 
> Cardinal *argc)
>  {
> -  key_move_north_west();
> +  key_unit_move(DIR8_NORTHWEST);
>  }
>  
>  static void xaw_key_open_city_report(Widget w, XEvent *event, String *argv, 
> Cardinal *argc)




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