2/17/96  PIRCH - BETA VERSION 0.75 (First Public Beta Release)

2/19/96
o Fixed a bug that sometimes showed server messages as private notices when the
  DNS returned a secondary dns name for the server and the notices were sent using
  primary dns name.
o Removed the 'Op Mode Mismatch' Debug message.
o Added command /exit    (Close the application)
o Added an option to Hide Joins/Parts/Quits from the channel window.
o Added the /ban command with parameters 0..5 determining the ban method
  0 = User
  1 = IdentPortServer
  2 = IdentServer
  3 = PortServer
  4 = NickOnly
  5 = serverOnly
o Fixed an irc invite bug (maybe its a feature) that a lamer could use to
  possibly make your part all your current channels if your auto-invites
  are on.
o Fixed the hilited message beep option.

VERSION 0.75c
o Removed the Voice Mode Mismatch debug message for moderated channels.
o Added capability to filter topic channels from the channel list
o Fixed a few problems with the winsock module that may have caused occasional
  GPF problems
o Found a problem with notifies at may have caused random disconnects or
  problems receiving a full channel list
o Added a number of server RLP's esp for IRC Oper messages & Dalnet
o Increased the Port Number field in the Add Server dialog to suport 5
  digit port numbers up to 32767
o Added keyboard control pgup & pgdn for scrolling back into the message
  buffer
o Started rewriting some of the text scroller routines for better performance
  on slower video cards (less flicker).
o Added support for Nicknames up to 32 chars
o Changed DCC Chat line endings. Previously caused problems with
  passwords on some eggdrop bots
o Changed the channel Part message slightly to make it clear of the event when
  not using enhanced events format. Purely cosmetic
o Added option to keep multi line editors default (Misc Page)
o Started cleaning up some of the code to eliminate use of unnecessary
  resources. This process will continue over the next several versions.
o Fixed BIO Viewer to clear picture area when browsing through bios
  and a bio picture was missing.
o Added ability to Drag-N-Drop DCC files to query & dcc chat windows
o PIRCH's main window now will now remember its size, position & state.
o Moved connection status from the main status bar to individual server
  windows.
o Added support for ACTIONS & SOUNDS in DCC Chats
o Added direct support for /KILL (IRC OPERs ONLY)
o Added direct support for /WALLOPS (IRC OPERs ONLY)
o Fixed a bug that cause long messages sent from the server window
  command line to be improperly sent.
o Many of you have commented that screen refreshes flicker when a
  new messages is added to the window. I am working on rewriting some of
  the scoll logic and optimize the window redraw methods, however
  I have not finished these routines at this time and felt some
  of the above changes were important enough to release at this point.
  I am also in the process of checking out a number of additional
  bug reports and suggestions. I thank you all for your mail
  and be assured that many of your suggestion will be incorporated soon.
o Changed /opnotice processing to keep in a channel, a previous bug
  caused chanops to go to a query window if one was open for the op
  sending the message.

VERSION 0.75d
o Rewrote the text scroller, should have reduced flicker. Also notice
  that some of the glyphs will appear slightly different. This change
  is required for future versions with user defined color changes.
o Added new copy/paste procedure for the scroller. Now will perform partial
  line copies.
o Fixed DCC chats so that they do not inadvertently close in the event of
  an IRC server disconnect or quit. However, closing the server window
  which owns the dcc chat will still close related dcc chat sessions.
o Fixed timer parameter to accept intervals longer the 33 seconds
o Rewrote channel list handler
o Added auto PONG mechanism. Hopefully this will aid on slow servers where
  some users have been having trouble staying online during channel listing
o Added ability to send notifications to active window rather than to only
  server/status
o Removed rollup window control menu and changed the handling so that
  clicking on the upperleft corner [-] graphic will close the window
  without having the menu popup.
o Removed the extra menu line break from under Voice commands in the control
  submenu (Cosmetic)
o Fixed longnickname bug that would occur when a long nickname is used in the
  connect dialog but logged into a server that truncated the nickname.
o Added ON NOSOUND event trigger. The event occurs when another user plays a
  sound to a channel/message window which you do not have in your sound
  directory.
  Event Format:     ON NOSOUND:window:alias
  Example           ON NOSOUND:#:/notice $nick Please send me $filename
o Added separate directory option for BIOS (DCC Section)
o Added LOG option to /set command to enable/disable channel/msg logging from
  the command line.
o Added variable $# . This variable represents the # symbol and may be used
  useful in aliases where a channel name is not prefixed with #
  Example: J:/join $# $$1
           then typing /j pirch  would then expand to /join #pirch
o Fixed a problem with the $? handling. It previously prefixed the variable
  with a space character.
o Fixed a /opnotice & /opmsg bug that failed to send notices to ops marked +v
o Fixed the /close command. Also modified the /close command to accept a
  parameter indicating the window to be closed. The parameter is optional may be
  either a channel name or nickname (for private messages).
  /close [windowname]
o Added /speak command. /speak <text>
  This command uses the Monolog speech engine from Creative Labs and comes with
  some versions of sound blaster audio cards. The pupose of this command is text to
  speech generation. Currently this implementation will cause other system
  processing to wait for the the engines's speak function to return. I'll be
  looking into alternate methods of implementation that will not cause this
  unwanted effect.
o Rewrote the winsock socket read procedures to prevent overflows. Data is now
  read as fast as it can come into the socket and dynamically queued, instead of
  statically queued in a fixed buffer.
o Changed the way the command history is handle within all windows within the edit
  line. The new implementation is as follows:
  Single line editor: Up arrow scrolls backwards thru the command history.
                      Down arrow clears the edit buffer
  Multi line editor : Up arrow move cursor up one line with the edit buffer.
                      Down arrow moves down one line in the edit buffer
                      Ctrl-Up Arrow backwards thru the command history.
                      Ctrl-Down arrow clears the edit buffer
o Changed event window handling so it writes the event to disk upon closing.
o Extended /execread command to work from the command line
o Added /write command - writes a string to a text file
  /WRITE [-CDIR#] <filename> [text]
  Parameters: -C   clears the text file removing all lines
              -D#  deletes line # from the file (if no # the the last line is removed}
              -I#  inserts text at line # (if no # then inserted at end of file)
              -R#  replaces line # in the file (if no # then inserted at end of file)
o Added new variable prefix whch can be used to extract parameteres from within
  an alias itself after it is expanded. To do the use %n where n is the parameter
  you want to extract. An example is provided in the next item below.
o Extended $file to include multiple file types and to return only an unqualified filename.
  You may now specifiy multiple file extenstion in the filemask seperating each
  with a semi colon. c:\windows\media\*.mid;*.wav;*.rmi
  To return only an unqualified filename (one with out the directory) use $-file
  Below is an example of both...
  F10:/sound # $-file "Pick a file to play" c:\sounds\*.mid;*.wav;*.rmi *1 says to get this file type: !Polar %3
  This example will have waves, midis & rmi's displayed in the file list box and
  return only the filename. In addition, the %3 variable will expand to the actual
  file you select from the file list dialog.
o Moved the 'Windows tabs' option setting out of the individual profile ini
  and into the global setting ini file (pirchutl.ini) and removed the option
  from the general page of Preferences to the main menu under options. You may
  need to reset this option.
o Added option to hide then hint-status line to the Options Menu.
o Added option to allow user to set scroll back buffer size.
  Default is 128 lines; Minimum is 64 lines; Maximum is 1024 lines;
o Added redirection capability to the /display command.. new format is as follows:
  /display [> WindowName] text
  Window name is the name of then window (ie channel window/message window/etc)
  in which to display the text.
  if the WindowName is invalid the text will displayed in the server status window
  if redirection is ommited the text will be displayed in the window from which
  the command was issued.
  If you currently use /display in alias... please be aware of these modification
  and change you aliases appropriately for desired effect.

  Here is an example of how to use /display to move Joins/Quits/Parts from the
  channel to the server/status window. First set the option to Hide Joins/Quits/Parts
  from the channel window. Then to events window add the following:
  ON JOIN:#:/display > $hostname \-2 $nick [ $+ $address $+ ] has joined #
  ON PART:#:/display > $hostname \-3 $nick [ $+ $address $+ ] has left #
  ON QUIT:/display > $hostname \-7 $nick [ $+ $address $+ ] has quit IRC ( $+ $quitmsg $+ )


o Added option to WWW window "Purge Unused URL's"
  When marked this option will remove all URL's marked with an asterisk (*) to
  be deleted from the WWW window. If unmarked, all URL's will be saved until
  you manually delete them.
o Fixed the kick/ban option from the names list popup menu... previously was not
  kicking.
o Added DIE parameter to /timer to stop and destroy a user defined timer.
  Format: /timer <timername> die
o Fixed an error message related to invalid timer parameters.

VERSION 0.76
o Fixed ON TEXT that reacted to your own text.
o Added ability to enable/disable individual levels in the events.
  Each level contains a check box next to it that determines whether or not
  the level is enabled.
o Set file mode to shareable in the media player. Should resolve the file access
  denied errors.
o Suppressed a 'list index out of bounds' error message when attempting to copy
  text from a completely empty window.
o Added events
  [@|=]ON SOUND:<audience>:<alias>
     ***This event occurs when a sound command is sent by another person.
        This event is only generated when the sound command is valid and the
        file exists. If the sound file does not exist an ON NOSOUND event
        is triggered. If this event is used, and you wish to have normal
        sound processing to proceed, append the :+ symbols to the end of the
        event handler.
        In addition to the varables defined by all events, the ON SOUND event
        also defines the following variables:
        $filename = filename of the sound to play

  [@|=]ON SERVEROP:<audience>:<alias>
     ***This event occurs when a nick is opped by a server.
        In addition to the varables defined by all events, the ON SERVEROP event
        also defines the following variables:
        $nick = servername
        $opnick = nickname of person opped

  [@|=]ON SERVERDEOP:<audience>:<alias>
     ***This event occurs when a nick is opped by a server.
        In addition to the varables defined by all events, the ON SERVERDEOP event
        also defines the following variables:
        $nick = servername
        $opnick = nickname of person deopped

  [@|=]ON SERVERMODE:<audience>:<alias>
     ***This event occurs when a channel mode flag is changed by a server
        In addition to the varables defined by all events, the ON MODE event also
        defines the following variables:

        $limit      = the current channel limit as defined by ths mode change.
        $lastlimit  = the previous channel key before the mode change
        $key        = the current channel key as defined by ths mode change.
        $lastkey    = the previous channel key before the mode change
        $lastmode   = the previous channel mode before the mode change

  [@|=]ON WALLOPS:text[;text...]>:<alias>[:+]
     ***This event occurs when an IRC Wallops message is received (user mode +w only)
        The text parameters may be text strings including wild cards
        See ON TEXT for more info on using text wildcards

        if :+ is appended the end of the line the message is displayed normally
        in the server/status window otherwise it is suppressed.

  [@|=]ON SNOTICE:text[;text...]>:<alias>[:+]
     ***This event occurs when server notice is sent (user mode +s only)
        The text parameters may be text strings including wild cards
        See ON TEXT for more info on using text wildcards

        if :+ is appended t the end of the line the message is displayed normally
        in the server/status window otherwise it is suppressed.

o Made a variety of internal changes to processing of events & aliases.
  A majority of these changes will not require any changes to current event
  handlers. Added $0..$nn parameters to most of the events which are triggered by
  some type of message to the user. $0 is the full parameter line or text sent
  and $1..$nn equate to inividual parameters or words.

o Added Commands
  /newwindow <WindowName>
   Creates a new mdi child window. This window is usual for only the /display
   command at this time in order to redirect certian types of messages using events.

   The following instructions illustrate how to make WALLOPS appear in a seperate
   window. First execute the command /newindow Wallops
   The add the folloing line to events:
   ON WALLOPS:*:/display > WALLOPS \10 $+ $nick $+ $0

o  Added option for Wide Nickname list on channels (used for dalnet and other
   nets supporting nickname lengths.

o  Added handling of nick change limit on various undernet servers. May of these
   servers now allow only a limited number of nick changes within a given time
   and will return a blank nickname if you exceed the limit. PIRCH will now retain
   the last valid nickname.

o  Fixed a GPF problem when data was queued and the client was rudely
   disconnected from the server.

o  Added $snick variable to represent the highlighted nickname from a channel
   in an alias.

o  Fixed a /display bug that would cause undefined behaviour if not text was
   supplied to display.

o  Fixed a bug that caused ON JOIN/ON PART/ON QUIT events not to be triggered if
   Hide joins/parts/quits option was active.

o  Modified the Invite handling for invalid channel names

o  Fixed a GPF problem when a multple server windows were open and maximized
   and one was closed.

o  Added the DCC Extension Map. This option is useful when you want to have your
   DCC Downloads stored to different directories based on the type of file.
   PIRCH uses the 3 character extension to determine file type.
   Entries in the DCC Extension map should be seperated by a semi colon for similar
   type files. Extension types not found in the Extension Map will be stored to the
   default DCC Download directory.

   Examples       bmp;gif;tif;jpg;      c:\images
                  mid;rmi;wav;          c:\sounds
                  txt;doc;wpd;          c:\docs
                  zip                   c:\archive

o  Changed file naming of logs and bios to handle nicknames which contain
   characters not allowed in filenames. These 'illegal' characters are replaced
   with a hyphen character (-).

o  Set RPL for the /names command for an open channel to update the channels
   names list in addition to displaying on status window

o  Added window tag (or sub caption) that identifies the server the window
   belongs to and the nickname your using. Can be currently activated from
   the main pane popup in the specific window as a temporary state or from the
   Preferences Dialog under the Misc group as a permanent setting. You may also
   use teh following command...

        /set tag <on|off>

o  Modified the Clone detector to react to particular number of clones only
   ON CLONES:<clonenumber>:<#channel[;#channel]>:<alias>

o  Added auto connect capability. Create a text file called AUTOCONN.IRC in your
   pirch directory, and enter the full path names of the profiles you wish to
   have automatically connect when you start pirch. Dialog window is provided for
   easy setup

        c:\pirch\pirch.ini


o  Added X-Chat protocol support for netscape. This allows you to use pirch to
   get to Chat Links on WWW Pages. To enable this feature... load Netscape and
   goto Options | Preferences | Helper Apps
   Select 'Create New Type'... in the dialog fill in the following fields...

      Mime Type      : application
      Submime type   : x-chat

      When you select ok... make sure the x-chat entry is highlighted in the list
      and fill in the remaining fields:

      File Extensions: chat,cha
      Action         : Launch Application
      Add c:\pirch\pirch.exe to the application name field, change directory to
      where you keep pirch. Click on Ok in the Preferences Dialog...  PIRCH will
      now be used to run chat links from the WWW

   ***Known limitation: On Window 95 & NT Systems, be sure your temporary directory
      does not have a long filename if using the 32 bit version of Netscape.
      This version of PIRCH can resolve a longfile name passed by 32 bit Netscape
      but can not do so if the directory is also LFN. Best solution is to set your
      temporary directoory to c:\temp

   You can test this feature from Quarterdecks Chat Schedule Page
      http://www.quarterdeck.com/chat/schedule.html

   Clicking on one of the chat links should cause netscape to load or activate
   PIRCH, start a new server session if necessary and tak you right to the channel.

   PIRCH performs chat links from within one instance of the application, it will
   load additional servers as required.

o  Fixed erroneous nick errors for Global Stage servers

o  Implemented custom color schemes... Options | Colors
   Currently you may created diff schemes in diff profiles. However, the same scheme
   is used for server/message/dcc chat/channel windows, I may implement seperate
   schemes for diff window types at a later time.

o  Added % display to caption of minimized DCC sends & gets

o  Fixed a number of timer related problems.

o  Added $members variable wich returns occupation count of a channel via alias.

o  Fixed the numeric fields in the options to prevent having to prefix the
   values with 0 in some cases.

o  Modified DCC initialization so that the focus in the active chat window is
   sustained and not given to the DCC window upon creation.

o  Modified DCC accept procedure to prompt for resume/accept/rename in the event
   and existing file exists.

Fileserver, /adduser /remuser /chlevel commands where planned for this version
but were postponed until 0.77. Sorry for the delays. Also have not had time to
update the help file, will do so as soon as possible.

VERSION 0.80
o  Added ability to configure the Server Text Pane Popup menu and the
   Channel/msg window text pane popup menu. The popup configuration dialog is
   now divided into 3 sections...

       Server Main pane Popup
       Channel Main Pane Popup
       Channel Names List Popup

   PIRCH comes preconfigured with several hard coded commands in the popup menus.
   If you do not wish to have these commands/options displayed in the menus,
   enter $clearmenu on the first line of the menu definition.


o  You may now comment out commands from a popup menu definition by prefixing
   the command with a semi-colon (;). If you comment out a sub menu level, be
   sure to comment out the entire submenu definition by prefixing each line of the
   submenu with a semi-colon

o  Modified the incoming /sound requests so that you can no longer force directory
   paths for sounds.

o  Added the following commands...
   /MIN [windowname]         Minimizes a window, if window name is omitted the current
                             window is minimized

   /MAX [windowname]         Maximizes a window, if window name is omitted the current
                             window is maximized

   /RESTORE [windowname]     Restores a window, if window name is omitted the current
                             window is restored

   /ENABLE [-q][EventLevel]  Enables an Event level. The level name may be a
                             partial name, or wildcarded in which the all matching
                             levels are affected. If no parameter is supplied,
                             the event system is enabled. The -q parameter indicates
                             no status message should be displayed.

                             Example : /enable 0     enables all levels that start
                                                     start with the character 0
                                       /enable *     individually enables all
                                                     levels
                                       /enable       Enables events

   /DISABLE [-q][EventLevel] Disables an Event level. Same rules apply as /enable
                             for specifying the level name.


   /ADDUSER [-q] <Level,[[level],...]> <nick[!user@host]> <maskmode>
   /REMUSER [-q] <Level,[[level],...]> <nick[!user@host]> <maskmode>
                             This pair of commands is used to add/remove users from
                             the event user lists.

       The -Q parameter indicates the command should be done without displaying
       the change in the server/status window.

       Level indicates the level(s) to which the user should be added or removed.
       The level name may be a partial name, or wildcarded in which the all
       matching levels are affected. You may add/remove from several levels at
       one time bye listing each level seperated by a comma (do not seperate
       with a space).

       nick!user@host is the nickname or internet address of the person you are
       adding/removing. The address portion of this command is optional, in which
       case PIRCH will retrive the person's internet address for you via a /whois
       command.

       MaskMode is the address masking/wildcarding options which should be applied
       to the person's address prior to adding to the list. There are 6 available
       masking options.

           Mask Type               Resulting address mask
           0 = User                Billy!BillG@ppp01.microsoft.com
           1 = IdentPortServer     *!BillG@ppp01.microsoft.com
           2 = IdentServer         *!BillG@*.microsoft.com
           3 = PortServer          *!*@ppp01.microsoft.com
           4 = NickOnly            Billy!*@*
           5 = serverOnly          *!*@*.microsoft.com

       Examples of using /adduser /remuser

           /adduser 100 Billy 2
            (adds *!BillG@*.microsoft.com to event level 100)

           /adduser 100,200 Billy 2
            (adds *!BillG@*.microsoft.com to event levels 100 & 200)

           /remuser * Billy 2
            (removes *!BillG@*.microsoft.com from any & all event levels)


o  Timer redefinitions now allow changing of the command in addition to the other
   parameters (interval & iteration counts)

o  Added forced user address lookup mechanism... PIRCH uses its internal address
   list to facilitate faster processing of address based commands, but in
   instances where no address has been obtained for a user, a /whois will be
   issued and the address extracted from the whois information.
   The following commands are affected:

   /DNS <nick | host>
    The /dns will now accept either a nickname or a user's host name

   /BAN <#channelname> <nick | nick!ident@server> <BanModes>
    The /ban command now will accept a nickname or full nick!ident@server info
    Banmode determines the ban method 0..5 determining the ban method
       The examples below illustrate how ban modes generate masks for
       Billy!BillG@ppp01.microsoft.com

       Ban Method              Example
       0 = User                Billy!BillG@ppp01.microsoft.com
       1 = IdentPortServer     *!BillG@ppp01.microsoft.com
       2 = IdentServer         *!BillG@*.microsoft.com
       3 = PortServer          *!*@ppp01.microsoft.com
       4 = NickOnly            Billy!*@*
       5 = serverOnly          *!*@*.microsoft.com

o  Added the followind additional variables for the /set command
   /set toolbar <on|off>   Shows/hides the Toolbar in the main window
   /set tabs <on|off>      Shows/hides the window tabs in the main window
   /set statusbar <on|off> Shows/hides the statusbar in the main window
   /set headers <on|off>   Shows/hides the headers in the server/status window
   /set cmdbar <on|off>    Shows/hides the command bar in the server/status window
   /set chanlist <on|off>  Shows/hides the channel list in the server/status window


o  NEW & MODIFIED EVENTS

   ON NOSOUND:<filemask[[,filemask]...]>:<channels>:<alias>

      This event occurs when ever a sound file is played but cant not be found
      on your system.

      Available info: $nick      nickname of the person who played the file
                      $filename  name of the file played


      This is a modification of an existing event. This event now supports
      file masks so that different events can be used for a variety of multimedia
      type files.

      Examples

           ON NOSOUND:*.mid:#:/notice $nick !DCCSEND $filename
              This event will request ONLY midi type media files

           ON NOSOUND:*.mid;*.wav:#:/notice $nick !DCCSEND $filename
              This event will request ONLY midi & wav type media files

           ON NOSOUND:*.*:#:/notice $nick !DCCSEND $filename
              This event will request any media files

   *****************************************************************************
   PLEASE NOTE: YOUR OLD NOSOUND EVENTS WILL NOT WORK UNLESS MODIFICATIONS ARE
                MADE.
   *****************************************************************************

   ON DCCFAIL:<filemask[[,filemask]...]>:<alias>

      Available info: $nick      nickname of the sender
                      $filename  name of the file you were receiving
                      $rate      rate of the tranfer
                      $received  # of bytes received
                      $percent

      The ON DCCFAIL event will occurr when a DCC download fails to complete
      successfully. You may include multiple filemasks to handle faulres of
      different filetypes in different ways.
      NOTE: If you plan to have multple ON DCCFAIL events in the same level,
      and use the *.* filemask, make sure you place the event handler for *.*
      AFTER any other specific filemask handlers.

      Example
         ON DCCFAIL:*.*:/playmedia c:\sounds\error.wav | /filedel $filename


o     /FETCH [URL]
      This is command is the base command for accessing a variety of information
      from www servers. The URL parameter is optional, and if not supplied PIRCH will
      attempt to load a channel motd from a default www server.

      If the supplied url parameter is an html, htm, or motd resource, the
      /fetch command will retrieve and display the information in a ROVER panel
      attached to the current window. See below for more information.

      If the specified URL is another type of file, /fetch will allow you save
      the resource to a disk file.

o     Implemented ROVER (Retriever Of Various Electronic Resources)
      Rover is a digital scrolling panel that is used to display a variety of
      text based information resources, including text and html file formats.
      ROVER is used in conjuction with the /fetch [url] command to retreive and
      display a specified resource.

      The ROVER parse files containing html (Hyper Text Markup Language) and
      extracts relavent page links from <a href="resource"> tags. Left clicking
      on the ROVER panel will display a dialog box containing active page links,
      a ROVER history and WWW books marks (from the WWW) window. You can select
      another link from this dialog and have it retrieved.

o     Fixed a problem with global notices

o     Alias window now has Load & Save As commands and synchonizes changes
      in aliases between multiple connections the use identical profiles or
      alias files. Updating an alias file that is shared between multiple
      connections now updates the alias set for all such connections
      immediately. If a profile is share between multiple connections and
      a new alias file is loaded into one of the connections, all connections
      sharing the profile will realize the changes.

o     Automated cleanup of invalid bio files. Corrupt/invalid bios will now
      cause pirch to display an error message and ask if you would like to
      have the file deleted from the system.

o     Added Delete Function to bio window

o     Change the format of the /playfile command to allow <channel/nickname>

      /PLAYFILE <channel|nick> <filename> <delay>

      Alias to play to current channel/nickname: play:/playfile # $1 $2
      The use /play <filename> <delay>

o     Enabled the Dedicate Msg window support (Options | Prefs | General)
      To have private messages sent to individual windows, make sure
      this option is checked, otherwise messages will go to a single window,
      captioned <<Messages>>

o     Changed /define command to replace an existing variable with new value

o     Corrected some hotkey assignments in the main menu

o     Added search capability to the alias & event windows.

o     Added Desktop Options Dialog to encopass the Toolbar/StatusLine/Window
      Tabs options and 2 new desktop options.

        Desktop wallpaper - Allows you to use a bitmap as background
                            Bitmap maybe tiled or centered
                            Select n/a to disable the bitmap
        Desktop color     - Default color of PIRCH desktop
                            Only visible if bitmap is not tiled

o     Added directory lookup option to elminate a lot of confusion
      for new users when selecting various directory options.

      Can be used in the Preferences dialog on the following
      directory fields:

          Section    Field
          -------    ----------------------------
          Sound      Default Sound Directory
          DCC        Default Download Path
          DCC        Default Upload Path
          DCC        Default BIO Path
          LOGS       Log Directory

      Can also be used on the Directory field of the Download
      Extension Map Entry dialog.

o    Added refresh file list option to th dcc send window

o    Added 'Use Drag-N-Drop as default method' option to the DCC pane of
     preferences. This will allow you to have the drag-n-drop window
     to be used instead of the static dcc file sender when selecting the
     DCC Send option from the tools menu or the toolbar, and if you issue
     the /dcc command with no parameters.

o    Added sound play mechanism to the media player. To access this feature
     click on the arrow pointing down in the media player window. The media
     player panel will change to show the file picker. The function there
     should be fairly self explanatory. You can play a file to a channel by
     selecting one of the play buttons or by dragging a file to a channel or
     query window. Dragging & droping a file from this list to a name in the
     channel will DCC it to the person

o    Modified Download extension Map to support Helper applications.
     Adding helper apps provides extensions to PIRCH and will be
     automatically executed upong receipt of a DCC download or a
     /FETCH download.

     Example use of Helper Application setup for RealAudio support

          Add to the Download Extension Map and entry as follows

     Extensions  Download Dir  Action               Helper App
     ra;ram      (any dir)     Execute Helper app   c:\realaud\raplayer.exe

     Make sure you set the helper application path correctly

     You can extend this type of helper application event further by
     setting the download directory to the same directory as your default
     sound path option. Then you can use .ra and .ram files with the
     /playmedia & /sound commands.

o    Added ability to connect to servers using numerical IP address instead
     of names.

o    Fixed a bug with the $?="prompt" alias variable (wasnt working properly
     if the prompt was only a single word)

o    Reduced some stack usage

o    Added notify window

o    Fixed ON TOPIC event variable $lasttopic

o    Trailing space character is now trimmed from aliases

o    Fixed a problem with a type of flood that would cause a problem

o    Fixed ON SERVEROP/DEOP

o    Added $mode for ON MODE
