Ok, seriously, this has gone far enough.  AutoPhaser?  Client ability to
override server FeaturePackets?

With the recent deprecation of RSA an admins ability of blocking clients
is limited without server changes; changes which a rogue client
developer can trivially bypass in any event.  

This type of crap with Bill has been going on for far too many years
now; this needs to be dealt with once and for all.  Feature packets
exist so admins can limit client abilities on their servers and present
an even playing field.  What makes Bill think he is above the law (per
sae) and has the ability of doing whatever it is he wants?






							John

----- Forwarded message from Bill Balcerski <modemhero at users.sourceforge.net> -----

> Date: Thu, 21 May 2009 02:37:31 +0000
> From: Bill Balcerski <modemhero at users.sourceforge.net>
> To: netrek-vanilla-cvs at lists.sourceforge.net,
> 	netrek-cvs at us.netrek.org
> Subject: [netrek-cvs] client/netrekxp/src data.c, 1.118, 1.119 defaults.c,
> 	1.96, 1.97 feature.c, 1.26, 1.27 input.c, 1.47, 1.48 option.c,
> 	1.57, 1.58
> 
> Update of /cvsroot/netrek/client/netrekxp/src
> In directory fdv4jf1.ch3.sourceforge.com:/tmp/cvs-serv13775/src
> 
> Modified Files:
> 	data.c defaults.c feature.c input.c option.c 
> Log Message:
> Added netrekrc option "useAllFeatures" to ignore server 
> settings for info/control feature packets.
> Added netrekrc option "autoPhaser" to phaser exact
> location of enemy target closest to cursor.  Works on
> local or map window.
> To do for autophaser:
> 1) Add sanity check to location (such as ship max
> phaser range).
> 2) Add support for phasering plasmas.
> 
> Index: input.c
> ===================================================================
> RCS file: /cvsroot/netrek/client/netrekxp/src/input.c,v
> retrieving revision 1.47
> retrieving revision 1.48
> diff -u -d -r1.47 -r1.48
> --- input.c	23 Jul 2008 10:09:34 -0000	1.47
> +++ input.c	21 May 2009 02:37:28 -0000	1.48
> @@ -54,6 +54,8 @@
>  struct obtype *target;
>  unsigned char key = ' ';
>  
> +void phaseraction (W_Event * data);
> +
>  /* this used to be 177 for an unknown reason...I think it may * have included
>   * various control characters.  We don't support * those anyway right?? - jn */
>  #define MAXKEY 224
> @@ -1697,8 +1699,7 @@
>      }
>      else if (data->key == W_MBUTTON)
>      {
> -        course = (unsigned char) (getcourse (data->Window, data->x, data->y));
> -        sendPhaserReq (course);
> +        phaseraction(data);
>      }
>      else if (data->key == W_XBUTTON1)
>      {
> @@ -1913,6 +1914,48 @@
>  }
>  
>  /******************************************************************************/
> +/***  phaseraction()                                                        ***/
> +/******************************************************************************/
> +void
> +phaseraction (W_Event * data)
> +{
> +    unsigned char course;
> +    int x, y;
> +    register struct player *j;
> +    struct obtype *gettarget (W_Window ww,
> +                              int x,
> +                              int y,
> +                              int targtype),
> +    *target;
> +
> +    if (autoPhaser) /* add range check here */ {
> +        target = gettarget (data->Window, data->x, data->y, TARG_ENEMY | TARG_CLOAK);
> +        if (target->o_num == -1) { /* failed to find a target */
> +            course = (unsigned char) (getcourse (data->Window, data->x, data->y));
> +            sendPhaserReq (course);
> +            return;
> +        }
> +        j = &players[target->o_num];
> +        if (data->Window == mapw)
> +        {
> +            x = j->p_x * GWINSIDE / GWIDTH;
> +            y = j->p_y * GWINSIDE / GWIDTH;
> +        }
> +        else
> +        {
> +            x = (j->p_x - me->p_x) / scaleFactor + TWINSIDE / 2;
> +            y = (j->p_y - me->p_y) / scaleFactor + TWINSIDE / 2;
> +        }
> +        /* Sanity check on x, y? Use ship max phaser range? */
> +        /* How about phasering plasma? */
> +        course = (unsigned char) (getcourse (data->Window, x, y));
> +    }
> +    else
> +        course = (unsigned char) (getcourse (data->Window, data->x, data->y));
> +    sendPhaserReq (course);
> +}
> +
> +/******************************************************************************/
>  /***  getcourse()                                                           ***/
>  /******************************************************************************/
>  int
> @@ -3333,19 +3376,13 @@
>  void
>  Key112 (W_Event * data)
>  {
> -    unsigned char course;
> -
>  #ifdef AUTOKEY
>      if (autoKey)
>          autoKeyPhaserReqOn ();
>      else
> -    {
> -        course = getcourse (data->Window, data->x, data->y);
> -        sendPhaserReq (course);
> -    }
> +        phaseraction(data);
>  #else
> -    course = (unsigned char) (getcourse (data->Window, data->x, data->y));
> -    sendPhaserReq (course);
> +    phaseraction (data);
>  #endif /* AUTOKEY */
>  
>  }
> 
> Index: defaults.c
> ===================================================================
> RCS file: /cvsroot/netrek/client/netrekxp/src/defaults.c,v
> retrieving revision 1.96
> retrieving revision 1.97
> diff -u -d -r1.96 -r1.97
> --- defaults.c	9 May 2009 21:21:43 -0000	1.96
> +++ defaults.c	21 May 2009 02:37:28 -0000	1.97
> @@ -43,6 +43,13 @@
>              NULL
>          }
>      },
> +    {"autoPhaser", &autoPhaser, RC_INT,
> +        {
> +            "Phaser exact location of enemy target closest to cursor",
> +            "Enemy must be within phaser range of your ship",
> +            NULL
> +        }
> +    },
>      {"autoQuit", &autoQuit, RC_INT,
>          {
>              "Autoquit timer (default 60)",
> @@ -907,6 +914,16 @@
>              NULL
>          }
>      },
> +    {"useAllFeatures", &useAllFeatures, RC_INT,
> +        {
> +            "Ignore server settings for info/control feature packets.",
> +            "This will automatically turn on motion mouse steering",
> +            "show army counts, show other's speed, show cloakers, turn",
> +            "keys, visibility range and beeplite regardless of what",
> +            "features the server requests that you turn off.",
> +            NULL
> +        }
> +    },
>      {"useCheckPlanets", &useCheckPlanets, RC_BOOL,
>          {
>              "Crosscheck with server to make sure all planet information is",
> 
> Index: data.c
> ===================================================================
> RCS file: /cvsroot/netrek/client/netrekxp/src/data.c,v
> retrieving revision 1.118
> retrieving revision 1.119
> diff -u -d -r1.118 -r1.119
> --- data.c	9 May 2009 21:21:43 -0000	1.118
> +++ data.c	21 May 2009 02:37:28 -0000	1.119
> @@ -924,5 +924,7 @@
>  int mapscaleFactor = 40;        /* allows for scaling of galactic window, unused */
>  int fullBitmapRotation = 1;     /* draw old bitmap sets to all angles */
>  int hideConsole = 0;            /* show console window or not */
> +int autoPhaser = 1;             /* phaser exact location of enemy target closest to cursor */
> +int useAllFeatures = 1;         /* ignore server settings for info/control feature packets */
>  
>  struct context *context;
> 
> Index: feature.c
> ===================================================================
> RCS file: /cvsroot/netrek/client/netrekxp/src/feature.c,v
> retrieving revision 1.26
> retrieving revision 1.27
> diff -u -d -r1.26 -r1.27
> --- feature.c	9 May 2009 21:21:43 -0000	1.26
> +++ feature.c	21 May 2009 02:37:28 -0000	1.27
> @@ -302,16 +302,26 @@
>  	    break;
>  	}
>      }
> -    /* Ignore these feature packets for testing purposes */
> -#if DEBUG
> -    motion_mouse_steering = 1;
> -    F_show_army_count = 1;
> -    F_show_other_speed = 1;
> -    F_show_cloakers = 1;
> -    F_turn_keys = 1;
> -    F_show_visibility_range = 1;
> -#endif
>  #endif /* BEEPLITE */
> +    /* Ignore these feature packets? */
> +    if (useAllFeatures)
> +    {
> +        motion_mouse_steering = 1;
> +        F_show_army_count = 1;
> +        F_show_other_speed = 1;
> +        F_show_cloakers = 1;
> +        F_turn_keys = 1;
> +        F_show_visibility_range = 1;
> +#ifdef BEEPLITE
> +        F_beeplite_flags = LITE_PLAYERS_MAP |
> +            LITE_PLAYERS_LOCAL |
> +            LITE_SELF |
> +            LITE_PLANETS |
> +            LITE_SOUNDS |
> +            LITE_COLOR |
> +            LITE_TTS;
> +#endif
> +    }
>  }
>  
>  /******************************************************************************/
> 
> Index: option.c
> ===================================================================
> RCS file: /cvsroot/netrek/client/netrekxp/src/option.c,v
> retrieving revision 1.57
> retrieving revision 1.58
> diff -u -d -r1.57 -r1.58
> --- option.c	21 May 2009 00:15:03 -0000	1.57
> +++ option.c	21 May 2009 02:37:28 -0000	1.58
> @@ -298,6 +298,7 @@
>  struct option Weapons_Menu[] = {
>      {0, "Weapons Menu", &MenuPage, 0, 0, 0, NULL, &Menus_Range},
>      {1, "Page %d (click to change)", &MenuPage, 0, 0, 0, NULL, &Menus_Range},
> +    {1, "use auto aim phasers", &autoPhaser, 0, 0, 0, NULL, NULL},
>      {1, "use color weapon bitmaps", &colorWeapons, 0, 0, 0, NULL, NULL},
>      {1, "show weapons on galactic", &weaponsOnMap, 0, 0, 0, NULL, NULL},
>  #ifdef JUBILEE_PHASERS
> @@ -438,6 +439,7 @@
>      {1, "", &messageHUD, 0, 0, 0, messagehudmess, &messagehud_range},
>  #endif
>      {1, "use double buffering", &doubleBuffering, 0, 0, 0, NULL, NULL},
> +    {1, "turn on all feature packets", &useAllFeatures, 0, 0, 0, NULL, NULL},
>      {1, "done", &notdone, 0, 0, 0, NULL, NULL},
>      {-1, NULL, 0, 0, 0, 0, NULL, NULL}
>  };
> 
> 
> _______________________________________________
> netrek-cvs mailing list
> netrek-cvs at us.netrek.org
> http://mailman.us.netrek.org/mailman/listinfo/netrek-cvs
> 

----- End forwarded message -----

-- 
"I'm sorry but our engineers do not have phones."
As stated by a Network Solutions Customer Service representative when asked to
be put through to an engineer.

"My other computer is your windows box."
                                     Ralf Hildebrandt
<sxem> trying to play sturgeon while it's under attack is apparently not fun.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 189 bytes
Desc: not available
Url : http://mailman.us.netrek.org/pipermail/netrek-dev/attachments/20090520/4eabede1/attachment-0001.pgp