Table of Contents

Mystic BBS v1.07 - What's New

Every Mystic BBS archive contains a WHATSNEW.TXT file that tracks the development of Mystic BBS for the version related to that archive.

This page contains notes from the author (g00r00) during the development of Mystic BBS v1.07

It outlines what is a new or changed feature, a bug fix, or something that has been removed.

In order to interpret each entry below, the following key explains the nature of each change that has been noted in the WHATSNEW.TXT for this version of Mystic BBS.

! = Bug fix
+ = New or changed feature
- = Removed

Use the Table of Contents on the right hand side of this page to quickly jump between the notes that relate to each version of Mystic BBS during this development cycle.

If you spot something you think looks amiss with these notes please contact us using the contact info found on this Wiki.

Version 1.07

 + Added new Prompt Info MCI code to Prompt #30: &7 now returns the user's
   age.

 + New MCI code: RPxx.  This sets Mystic's pause count to the value contained
   in xx when displaying a text file.  I've found that this can come in
   handy when doing some in depth modding.  For example: RP10 will set the
   pause count to 10, meaning Mystic thinks its displayed 10 lines since the
   last page pause.

 ! SysOp feedback after a chat page was not working.  It does now! =)

 + The <space> key can now be used to toggle the Yes/No lightbars.

 ! New user feedback was not being forced.  In other words, the user would
   be able to abort posting the message.  This has been fixed.

 + LANGEDIT.EXE will now ask if you would like the language file
   automatically compiled after saving.

 + Updated the node chat a little bit.  The chat now has real-time updating,
   which basically means that you can be typing a reply and it will still
   display other user's text.  In the past, if you weren't typing it would
   look for new text from other nodes, but now it will do it the entire time
   you're in chat, no matter what you're doing!  I've also been thinking
   about rewriting the chat to be more IRC-like.  If that sounds good, let
   me know and i'll probably do it! =)

 + New program LANGUPDT.EXE has been added to the Mystic upgrade packages.
   This program will automatically update old language files with new or
   changed prompts...

 ! MPE: The GET/PUTMBASE functions were off by a number, for example
   GetMBase(1) would actually return Base 0.

 ! MPE: PutMBase was corrupting a field in the message base record.

 + MPE: Added new MBASE variable: MBASENTYPE.  Just to clear some things up
   here:

      MBASENTYPE = Net type (Local, Echomail, etc)
      MBASEBTYPE = Base type (JAM, Squish)
      MBASEPTYPE = Post type (Public, Private)

 ! Fixed a small bug in the Win32 full screen editor that caused Mystic to
   lock up.

 + New prompt in node chat:

     ; nodechat input &1 = username
     427 |07[ |15|&1 |07>> |03

 + Added a configurable WFC screen template.  The WFC screen template is
   found in the data directory as "WFCSCRN.XXX".  The random display file
   system works as well, allowing up to 10 randomly selected WFC screens!

   The following screen info codes are used:

      !1 Status line (40 characters in length)
      !2 System Time
      !3 System Date
      !4 Next Event Time
      !5 Top X/Y position and standard color of node window
      !6 Bottom X/Y position and highlight color of node window
      !7 Top X/Y position and color of modem window
      !8 Bottom X/Y position of modem window

 + MPE: Added two new USER variables:

      USERCURMBASE - User's current MBASE
      USERCURFBASE - User's current FBASE

 + Added User's Screen Size into the user editor.  I can't believe I forgot
   to add that in the past! =)

 ! Mystic was not updating the user's flags on the statusline after the
   -F menu command was used.

 + Passing a zero to the baud parameter when loading Mystic now skips the
   WFC screen and runs the user login in local mode.  Passing a -L on the
   command line still goes to the WFC screen first.

 + Changed the split screen chat a little bit.  First, the text color is
   now defined by the screen info MCI codes.  This allows the SysOp and
   User windows to have different text color.  Second, two new screen info
   codes have been added:

      !0 - Specifies the X/Y position and color for the user's time left.
           It will be updated every minute, and is optional.
      !9 - Specified the X/Y position and color for the system time.  It
           will be updated every minute and is optional.

 + Added new nodechat prompt:

     ; nodechat user not found
     428 |CR|15User not found.

 ! The "S" optional data option for the MR menu command was not working
   properly.

 ! When reading messages in the lightbar message reader, users were able
   to delete messages even if they were not the user who posted them.

 ! Fixed a bug in the menu hotkeys when entering "/x" commands.  Sometimes
   Mystic would temorarily ignore input after backspacing over the "/"
   character.

 + The maximum number of menu commands have been expanded to 75 commands
   per menu, rather than the old maximum of 50 commands.

 + Added the option for Sysop/Users to toggle which mode the lightbar
   message reader starts in: message index mode, or message reading mode.
   Along with these additions comes to following:

      System Config -> New User Settings -> Msg Lightbar Idx.  This option
      sets the default for new accounts and can be set to "Yes/No/Ask".

      Added prompt #429:
      ; new user: use lightbar message index?
      429 |CR|12Use lightbar message index? |11

      Added new option to menu command GE: 21.  This toggles the status of
      the user's lightbar message reading index mode on/off.

      Added new MCI code: ML.  This returns on/off based on the status of
      the lightbar message index.

 + Added the (Q)uit command to the lightbar message reader.  This command
   was in the standard message reader, but I somehow overlooked it in the
   lightbar version.

 + Added new program: MYSTPACK.EXE.  This program packs all JAM message
   bases on your BBS.  It will remain external from MBBSUTIL.EXE until I am
   able to finish the Squish side of things.  Here's the following
   functions:

      - Removes deleted messages from your data files.
      - Renumbers messages in numerical order
      - Renumbers the reply chains (Refer to and See Also)
      - Updates each user's last read pointers
      - Removes any message in violation of the Max Msgs / Max Age settings
        for each base (found in the Message Base Editor).

   It also has the option to -SKIPFIRST, which will skip the first message
   in all local message bases, so they will never be deleted unless marked
   deleted by the SysOp.  This allows for a "This base is for..." or
   BASE_ID.DIZ message to always stay as the first message.

 ! When inputting a password and CTRL-Y was pressed, Mystic was filling the
   entire field up with the echo character instead of blank spaces.

 + Added two new command options to the FG menu command (change file
   group).  The + and - command will now move to the next and the previous
   file group.  Mystic will automatically find the first file base the user
   has access to after changing groups.

 + Added two new command options to the MG menu command (change message
   group).  The + and - command will now move to the next and the previous
   message group.  Mystic will automatically find the first message base
   the user has access to after changing groups.

 + Added new prompt: Message base scan setting footer:

      ; msg scan setting footer
      430

 + In Lightbar menus, Mystic will now keep track of the user's lightbar
   position when a menu command is ran.  In the past, it would always default
   to the first command on the menu when it was redisplayed.

 + Full screen editor quote window now only adds a blank line to the bottom
   of the message if new text was quoted.

 + The %0 door MCI code now returns the fossil com port in the DOS version.
   In the past, it would not get filtered out.

 ! Ocassionally, when editing text of a posted message, Mystic would garble
   up the display.

 ! Mystic was not correctly rewriting the message index information after
   saving changes to an edited message.  This would cause some JAM packers
   to duplicate messages, which other JAM packers would process the index
   correctly.

 + Mystic will now try to put new users into a group instead of having them
   start out in no group.

 + The (N) command during a lightbar message index has been changed to
   (G) to match the identical command when reading in non-lightbar mode.
   This function goes to the next base in the message scan, or does
   nothing if not in a message scan.  You may want to update your lightbar
   message index template and your AMSGHLP1.XXX files to reflect these
   changes.

 + The (ESC) function in the lightbar message reader has been changed to
   quit reading.  In the past, it would show the lightbar message index.

 + The lightbar message index command, which was (ESC) in the past, has
   been changed to (L) to reflect the same command as the non-lightbar
   reading command to view the message index.

 + Made some major changes to the file lists, in preparation for support
   for long file names.  The ANSIFLST.XXX template has been changed quite a
   bit and the highlight data has been moved to prompts to make it more
   flexible.  The following Screen Info codes are used in ANSIFLST.XXX now:

   !1 = Top Y location of the file list window.
   !2 = Bottom Y location of the file list window.
   !3 = Y location of the status text.
   !4 = X/Y location of the number of files tagged.

   The following prompts are new or changed:

   ; Standard file list: #/filename:
   ; &1 = file num, &2 = filename, &3 = tag char
   042 |15|&1|07|&3 |14|&2

   ; Standard file list: description/info
   ; &1 = size, &2 = date, &3 = DLs, &4 = desc, &5 = uploader
   043  |07ÀÄ |09|$L11|&1 bytes |10|&2    |11|&4

   ; Standard file list, ext desc: &4 = description
   045 |11|$D34 |&4

   ; Lightbar file list: #/filename:
   ; &1 = file num, &2 = filename, &3 = tag char
   431 |15|&1|07|&3 |14|&2

   ; Lightbar file list: highlight on: &1 = #, &2 = filename, &3 = tag char
   432 |00|23|&1|16

   ; Lightbar file list: highlight off: &1 = #, &2 = filename, &3 = tag char
   433 |15|&1|07|&3 |14|&2

   ; Lightbar file list: description/info
   ; &1 = size, &2 = date, &3 = DLs, &4 = desc, &5 = uploader
   434  |07ÀÄ |09|$L11|&1 bytes |10|&2    |11|&4

   ; Lightbar file list, ext desc: &4 = description
   435 |11|$D34 |&4

   ; Lightbar file list, uploaded by: &5 = uploader
   436 |03|$D34 Uploaded By: |&5

   ; Standard file list, uploaded by: &5 = uploader
   437 |03|$D34 Uploaded By: |&5

 ! When a user tried to login on more than one node at a time (and multiple
   login is disabled), their time left was being set to 0.

 + Added new MCI code: PI.  This just displays a | character.

 ! There was a security leak in Mystic's email system that allowed user's to
   access other user's email messages!  This has been fixed!

 + Added a set of internal file transfer protocols.  Included are the
   following:

     Xmodem
     Xmodem/CRC
     Xmodem/1K
     Ymodem Batch
     Ymodem/G Batch
     Zmodem Batch

   Support for external protocols has been removed, at least temporarily.
   I'm not aware of any external protocol drivers that will work with
   long file names, or with Mystic's internal telnet server anyway.  So
   supporting them wouldn't do much good.

   Two changed prompts go along with this:

   ; Protocol select batch prompt
   061 |CR|14[|15Y|14] Ymodem|CR[|15G|14] Ymodem/G|CR[|15Z|14] Zmodem|CR|CRSelect Protocol [|15Y G Z|14]:

   ; Protocol select standard prompt
   062 |CR|14[|15X|14] Xmodem CRC|CR[|151|14] Xmodem 1K|CR|14[|15Y|14] Ymodem|CR[|15G|14] Ymodem/G|CR[|15Z|14] Zmodem|CR|CRSelect Protocol [|15X 1 Y G Z|14]:

   Also, be aware that when updating you will probably want to modify all the
   prompts that ask for a filename, by adding a CR at the end of them.  For
   example:

     OLD: 344 |CREnter file name:
     NEW: 344 |CREnter file name|CR:

 - Display files PROTO.XXX and PROTOB.XXX have been removed, as they are
   useless now.  You can replace prompts #61 and #62 with the PROTO and
   PROTOB display files if you want to still use those files.

 + Added new LightBar Grid menu type.  In the menu flags for each menu,
   there is now a menu type field, which can be set to any one of the
   following options:

      Standard
      Lightbar
      Lightbar Grid

   Both Standard and Lightbar options work the same as they have in the
   previous versions, but the LightBar Grid system implements a way more
   confusing and way more flexible LightBar system. =)

   When the grid system is activated on a menu, it will use the following
   new options that have been added to each menu command within a menu:

     Arrow Up    : 1
     Arrow Down  : 5
     Arrow Left  : 2
     Arrow Right : 4

   If a menu command is currently highlighted in a lightbar grid menu, and
   the up arrow is pressed, Mystic will jump to menu command #1.  If the
   down arrow is pressed, Mystic will jump to menu command #5.  The same
   also goes for the left and right options.

   As you can see, this will allow for an enormous amount of flexibility as
   compared to the previous lightbar system and the lightbar systems found
   in most other BBS packages.  However, its a little more work to create
   these menus so I imagine only some of the hard core SysOps will make
   much use of this system.

 + Due to "popular demand", file description line length has been expanded
   from 45 characters to 50 characters.

 + The mass upload command now executes the upload tester if one has been
   configured for Mystic.

 + Added a "Post on this base?" prompt after reading messages into the
   Lightbar message reader.

 + Cleaned up the functionality of the Lightbar message reader quite a bit,
   to make it operate more like the standard reader in certain places.

 + MPE: New MPL function ODD.  Returns true or false based on if the passed
   number is ODD or EVEN.

 + MPE: Finished up the CONST variable support.  In the past CONST
   variables would only work in evaluations and could not be used in
   variable assigning statements.

 + MPE: In the past, declared functions were not allowed in expression
   evaluations.  They are now! =)

 + MPE: Boolean parameters are now allowed in declared functions and
   procedures.

 + MPE: Boolean modifiers were not allowed when assigning variables.  I
   totally overlooked that somehow and never noticed that it wasn't
   implemented.  For example, this will work now:

      Function Neg (Bol Boolean) : Boolean
      Begin
        Neg := Not Bol
      Pend

 + Added a character in the lightbar message index listing to mark messages
   which are new.  The character can be setup in System Config -> Language
   Definitions -> New Msg Char.  Prompts #399-401 now have a promptinfo &5
   code that returns either the new msg char or a space.

 + Recoded some internal MPE engine functions.  The compiler is probably
   now a little faster than it was in the previous release, and the executor
   engine is probably about 300-400% faster in most cases!

 + Cleaned up the word wrapping in the full screen editor.  In the past,
   if a paragraph existed under the paragraph currently being edited, Mystic
   would allow the text from the first paragraph to wrap into the second
   paragraph.  The editor now detects a second paragraph and will insert
   a line when wrapping to prevent this.

 + Added a second set of access flags for each user.

 + Added new ACS command: "Dx".  This command works just like the "Fx" ACS
   command, except it targets the second set of access flags as opposed to
   the first set, which "Fx" checks.

 + The login display file "FLAGx.XXX" has been changed to "FLAG1x.XXX".

 + Added new display file "FLAG2x.XXX", which is works just like FLAG1.XXX
   except it targets the second set of access flags.  IE: FLAG2A.XXX will
   display during login if the user has flag A set in their second set.

 + Rewrote the user editor to make room for the second set of flags, and
   other new user options.

 + Added new menu command: -D.  This works identical to the -F command, and
   is used to toggle or set flags in the user's SECOND set.

 + Added new user database field: E-mail address.  This option can be set
   or disabled in the new user settings, and edited within the user editor.
   Two new prompts have been added to go along with this:

      ; new user: enter email address
      439 |CR|09Enter e-mail address|CR:
      ; info edit: enter email address
      440 |CR|09Enter E-mail address|CR:

   An addition to the GE menu command has also been made.  Optional data
   22 now edits the E-mail address field.

   New MCI code: UK has been added, which returns the users email address.

 + Added new user database field: User note.  This option can be set or
   disabled in the new user settings, and edited with the user editor.
   Two new prompts have been added to go along with this:

      ; new user: enter user note
      441 |CR|09Enter your desired user note|CR:
      ; info edit: enter user note
      442 |CR|09Enter your desired user note|CR:

   An addition to the GE menu command has also been made.  Optional data
   field 23 now edits the User Note field.

   New MCI code: UI has been added, which returns the user note field.

 + Added three new optional/configurable questions into the user database.
   They can be configured/enabled/disabled in New User Settings.  Six new
   prompts have been added:

      ; new user: option 1
      443 |CR|09Enter optional field 1:
      ; info edit: option 1
      444 |CR|09Enter optional field 1:
      ; new user: option 2
      445 |CR|09Enter optional field 2:
      ; info edit: option 2
      446 |CR|09Enter optional field 2:
      ; new user: option 3
      447 |CR|09Enter optional field 3:
      ; info edit: option 3
      448 |CR|09Enter optional field 3:

   Optional data fields for menu command GE have been added to edit these
   fields.  These are 24, 25, and 26.

   Three new MCI codes have been added. U1, U2, and U3.  These return the
   optional data 1, 2, and 3 fields.

 + The "Post on this base" question is no longer asked when a user aborts
   reading messages.

 + Added the ability to disable the Lightbar Quote Window both on a SysOp
   and a user basis.  These have been added into the user editor and into
   the new user settings.  One changed prompt goes with this:

      ; New user: Use FSE quote window?
      060 |CR|12Use full screen editor quote window?

   Optional data field 27 has been added into the GE menu command to toggle
   this option on a user basis.

   New MCI code of UQ has been added, which returns "standard" or "lightbar"
   for the quote mode, based on the user's setting.

 + Added the ability to start reading in the lightbar index mode in just
   the e-mail base.  This is also configurable on a Sysop and individual
   user basis.  One changed prompt goes along with this:

      ; Start at message index in email? (lightbar msg reader)
      331 |CR|12Start at e-mail message index?

   Optional data field 28 has been added into the GE menu command to toggle
   this option on a user basis.

   New MCI code UM returns ON/OFF based on this setting

 ! Mystic no longer asks users if they want to "Post a message here" when
   viewing sent e-mail.

 + New MPE command: TextColor.  This takes a text attribute number and
   changes to that color.

 + New MPE function: TextAttr.  This returns the current text attribute.

 ! MPE: Assigning a char variable to a string variable would cause a
   variable type mismatch!  IE: Str := Str + Ch

 + MPE: Support for CHAR variables as function results has been added.  I
   didn't even realized that they weren't supported!  Hrrmmm,
   Forgetful I am, yes...

 + Each network address now has a network name to go along with it, which
   is defined in System Config -> Network Settings.  There is also a new
   MCI code that goes along with this: MN, which returns the network
   name for the current message base.  This can be used in the message base
   scanning prompt or the message base list format prompt... or anywhere
   else! =)

 + Added a footer to the "file base scan setting" list:

   ; file base scan setting footer
   449

 + Default options for TSERVER can now be set in MCFG.EXE, under System
   Configuration -> Telnet Options.

 + MPL: Added two new commands: GETFGROUP and PUTFGROUP.  These are used
   to read and write to the file group records, and work just like the
   GETFBASE and PUTFBASE commands.  Two new variables go along with this:

      FGROUPNAME - Name of File Group
      FGROUPACS  - Access string of File Group

 + MPL: Added two new commands: GETMGROUP and PUTMGROUP.  These are used
   to read and write to the file group records, and work just like the
   GETMBASE and PUTMBASE commands.  Two new variables go along with this:

      MGROUPNAME - Name of File Group
      MGROUPACS  - Access string of File Group

 + MPL: Added two new commands: GetTextStr and PutTextStr.  These commands
   will be used to read/write/edit messages and file descriptions as well
   as being used to access the message and text editors within Mystic.
   More on this stuff later! =)

 + Expanded the Prompt Info codes to 15 instead of ten.  New Prompt Info
   codes are &A through &E...

 + Added new prompt info codes for prompt #30:

      &8 = Email address
      &9 = User note
      &0 = Optional field 1
      &A = Optional field 2
      &B = Optional field 3

 + Added new prompt info codes for prompt #142:

      &9 = User note
      &0 = Email
      &A = Optional field 1
      &B = Optional field 2
      &C = Optional field 3

 + New menu command auto-exec type: AFTER.  This works just like EVERY
   except it is drawn AFTER the menu is displayed, directly before
   the prompt.  EVERY executes before the menu is drawn each time it is
   drawn.

 + New menu option: "Input Type".  This can be set to any of the following
   values:

      Long key     : Forces the menu to use long key input
      Hot key      : Forces the menu to use hot key input
      User setting : Uses whichever input mode the user has set

 - Removed the Xmodem and Ymodem protocols.  This is most likely a temporary
   thing, but I doubt many will use them anyway.  They're still kinda buggy
   and I want to get 1.07 released as soon as I can.

   Changed two prompts for this:

   ; Protocol select batch prompt
   061 |CR|14Press [|15ENTER|14] to start Zmodem transfer, or [|15Q|14] to Quit:
   ; Protocol select standard prompt
   062 |CR|14Press [|15ENTER|14] to start Zmodem transfer, or [|15Q|14] to Quit:

 + New menu command: VN.  This will search for any new voting questions and
   allow the user to vote on them.

 ! Mystic (Win32) wasn't setting the node number correctly in the Window
   Title.

 + New prompt: Prompt #450 is now the TO: for a privately posted message
   "TO:" field.

      450 |CR|09To:

 + Added two new fields to the New User Settings in System Configuraton:

      Start Message Group
      Start File Group

   This allows for the msg/file group that new users start off in to be
   defined.  In the past, Mystic would just put them in the first group
   and first base they had access to.  Setting these options to zero will
   cause Mystic to act like it used to - putting the user into the first
   group and base they have access to.

 - Removed MENUEDIT.EXE from the distribution

 - Removed LANGEDIT.EXE from the distribution

 - Removed MCONFIG.EXE from the distribution

 + Added new program: MCFG.EXE.  This program is going to be an all-in-one
   configuration and management utility!  All of the functions that existed
   in MENUEDIT, LANGEDIT, and MCONFIG have already been added to this, as
   well as a file base list manager and many other parts of the System
   Configuration.  This program is not 100% completed, but its a VERY nice
   start!  Many MANY enhancements into the menu editor, and language editor
   as well as an overall clearer and more intuitive interface!  Includes
   native DOS, Win32, OS/2 and Linux versions!

 + Completely rewrote MIDE.EXE, the Mystic Programming Language IDE.  This
   new version offers these new features:

      + Improved interface
      + Allows up to 9 files to be edited at once
      + Configurable tab spacing stops
      + Ability to disable syntax highlighting
      + Enhanced text copy/cut/paste block functions
      + DOS, Win32, OS/2, and Linux native versions
      + Full online help system similar to Borland's IDE help systems.
        Includes a full reference to the Mystic Programming Language
        functions and procedures - along with examples of each of them!

 + Completely rewrote MPL.DOC (The Mystic BBS Programming Language Manual).
   Its not 100% completed, but its more organized and complete than the
   MPL.DOC which was distributed with version 1.06.

 + Cleaned up the way Mystic determines file/msg groups for new users and
   existing users.  It's very "intelligent" now...

 + Rewrote the installation program.  The install looks much nicer than the
   pervious install and no longer requires any type of external archive
   utility to complete the installation.

 + MYSTIC BBS NOW HAS A NATIVE LINUX VERSION!

      The linux version of Mystic BBS has been completed.  Mystic/Linux is
      a complete shell replacement, which means that it will work
      effortlessly over dialup and telnet connections to your system!  The
      configuration is file case sensitive, but other than that all data
      files are compatible with other native versions of Mystic (ie, DOS,
      Windows, and OS/2).

      Many changes had to be made to the Sysop end of Mystic to work around
      various Linux issues.  Running a BBS under Linux is an entirely
      different experience, but i've tried to make the transistion as easy
      as possible for everyone.  Just be aware that the functionality of
      Mystic/Linux is identical to all other versions, but the Sysop
      operations will be different.

 + TSERVER (the Mystic BBS telnet server for Windows) has been cleaned up.
   When a new connection is received, TSERVER will now spawn new Mystic
   windows completely in the background without interrupting the current
   process.  In the past, TSERVER would always force Windows to return to
   the desktop - so, for example, if you were in a full screen DOS session,
   it would return your DOS session to a GUI window.

 + Mystic now has full support for long file names.  It already has since
   early 1.07 alphas, but apparently I forgot to reflect that in the whats
   new file!

 + Mystic's internal user editor now sets users who are logged into other
   nodes as "read only" when their account is being viewed.  If their
   account needs editing, you'll have to switch to their task and edit them
   with the SysOp functions.

 ! Mystic wasn't saving user accouts in the user editor if the user logged
   in was trying to edit their own account.  For example, if "Joe SysOp"
   was logged in, went to the user editor, and tried to edit his account -
   it wouldn't save.

 ! When using the ALT-E sysop command (edit user account), Mystic was not
   changing the users online time if a new "Time Left" was set.

 + New MPE command: EXIT.  This function will immediately exit the current
   procedure or function.

 + Two new options have been added to the new user settings: Start Msg
   Group and Start File Group.  In the past, Mystic would start a new user
   in whatever the first group they had access to was.  This can be used to
   start a new user in a definied message and file group.

 + New option added to the message base options:  The option to "Show Bases
   in Group List" must now be set to Yes for Mystic to calculate the number
   of areas in that group when the user is selecting a message group.  If
   this option is toggled off, Mystic will return a "0" for number of areas
   in a group.

 + New option added to the file base options: Show Base in Group List.
   This works just like the same option in the message base settings.

 ! Fixed a bug with user's time left getting set to 0 on certain occasions
   during a login.

 + Mystic now disconnects the user after three login attempts.  If they
   don't select to create an account in those 3 attempts, Mystic boots them.

 + MPE: Added support for including source files into the main source of
   an MPS file.  This hasn't been tested very well and has caused a slight
   decrease in compile speed, but its there and appears to work! =)

   Example:

     # Sample source file which includes common.mps
     # --------------------------------------------

     #include common.mps

     Begin
       WriteLn ('Any functions or procedures in common.mps can be called')
     End

   Note that the compilers will still compile a procedure or function into
   the executable if they're not used in the program.  So if you did make
   an include of common functions and procedures that you use, they will
   all be compiled.  In the future i'd like to add a "smart linking"
   feature which would remove all unused functions and variables.

 + Added new user flag: Ignore LC.  When set to YES, this option will
   not add the user into the last caller information.

 + Mystic will now not add the user to the last callers file if they log in
   in Invisible mode.

 ! Fixed a problem within MBBSUTIL's user packer.  Under certain situations,
   MBBSUTIL was messing up the user's last read pointers and their base
   scan settings.  This has been fixed.

 + MPE: Added new var to USER record: UserEditType.  This returns the user's
   current editor setting.

 + The one liners function now redisplays the oneliners after a user adds
   a new entry.

 + Separated the post subject prompt and the REPLY subject prompt in the
   language file.  New prompt added:

      ; reply msg SUBJ
      451 |CR|09Subject:

 + Added a header prompt into the standard (non-quote-window) quote mode.  A
   new prompt has been added:

      ; standard quote header
      452 |15Quote mode: Select a range of text to quote

 + Added a new option to the message and file area selection menu commands
   (MA and FA).  When "nolist" is supplied in the optional data field of
   the menu command, Mystic will just show the prompt to select a message
   base number unless, of course, the user enters "?" on that prompt, which
   they would then get a listing of available bases.

 + Added new option to Mystic's graphics detection when a user connects.
   An option of "Force ANSI" can be set in the general settings of the
   system configuration as the detect type.  This will force the user into
   ANSI mode and not attempt to detect or ask for the graphics mode.

 + Added new prompt: 453.  This is the footer for the listing of users in
   teleconference.

      ; footer for teleconference user list
      453 |CR|PA

 + Added an entirely new FULL SCREEN irc-like teleconference system!  The
   older system is still around for people who like it better or for users
   who don't support ANSI graphics.  This new system allows for the user to
   have a permanent input line as well as a window where text will scroll,
   maybe similar to a text-based mIRC client.  Each user also has a 200
   line scrollback buffer!  Many changes and additions go along with this:

   Changed prompts:

      ; nodechat user's text: &1 = user name
      181 |07<|15&1|07> |03

      ; nodechat broadcast text: &1 = user name
      319 |01<|09|&1 |11Broadcast|01> |03

      ; nodechat private text: &1 = user name
      218 |04<|12|&1 |14Private|04> |03

      ; nodechat action text: &1 = user name
      229 |13* |&1

      ; nodechat: info/status text
      226 |12- |07

      ; new user: use full screen node chat?
      187 |CR|12Use full screen node chat? |11

      ; Node chat scroll mode back
      237 |15Scrollback:  (Up/Down) Move  (Ctrl-R) Page Up  (Ctrl-C) Page Down  (ESC) Quit

   Also some new options in the new user settings, where the node chat can
   be either forced on or off for new users, or the new user can be asked.
   New additions for this field has also been added to the user editors as
   well as an addition to the "GE" menu command with optional field data
   of 29 to toggle the user's setting.  The MCI code "CM" returns the
   on/off status of the full screen chat function.

 ! Fixed a bug that existed when viewing text files.  The pause prompt would
   display on the last line of the page (overwriting the last line) rather
   than moving down to the next line and displaying the pause.

 + When doing a new scan for personal messages, Mystic will now update the
   last read pointers for each base.  This wasn't a bug, I designed it to
   not save the pointers, but I really don't know why I originally did it
   that way. :p

 + Added a new menu command: MS.  This command allows for easy message
   searching in the current base, current group, or all groups/bases.
   See MYSTIC.DOC for more information.  Two changed prompts go along
   with this new command:

      ; Message search: search text input
      310 |CR|03Enter text to search for:

      ; Message search completed
      311 |15Message search completed.

 + Two new additions to the MPL evaluation engine: In the past both function
   calls and constant variables could not be evaluated in the second part of
   a statement.  I never noticed this before, but it has been completed now.

   For example (in the 1.06 MPL engine):

       OK: If Ord(' ') = 32 Then WriteLn('Hello') EndIf
      BAD: If 32 = Ord(' ') Then WriteLn('Hello') EndIf

 + Added new option: System Config -> New User Settings -> Ask Screen Size.
   If this option is set to Yes, Mystic will ask new users for their screen
   size.  If this option is set to No, Mystic will automaticly set the user's
   screen length to the configured default screen length.

 + New MCI code: QL.  This returns YES or NO based on the user's QWK setting
   to include a new files list in each packet.

 - Removed the "OC" menu command (Set QWK options) and added the options
   individually into the GE menu command.  See MYSTIC.DOC for more
   information on the GE menu command.

 - Removed prompt 228 that went along with the OC menu command.

 + Added a footer prompt to the batch queue listing.  New prompt is #428

 + Expanded the modem initialization string from 40 characters to a max
   of 80 characters

 + Added new prompt to the QWK packet creation: Prompt #228 now displays
   if a packet is created with 0 messages, and the download is then aborted

      ; QWK DL: No messages
      228 |CR|15No messages found.|CR|CR|PA

.-----------------------------------------------.
| Mystic BBS v1.07 RELEASED : December 26, 2000 |
`-----------------------------------------------'

Version 1.07.2

 ! MCFG: The New User Settings 1 -> Language file setting was backwards.
   It'd say "Ask" when it really should have said "Use default".

 ! MCFG: The option New User Settings 2 -> Ask Screen Size was missing from
   the options but available from within Mystic's internal configuration.

 ! Fixed a bug in the QWK system that would cause certain messages in a
   packet to get scrambled.

 ! The QWK system was creating .NDX files for bases that didn't have any
   messages in them.  This is fine for most QWK readers, but there are a few
   that didn't like that.  In addition, the .NDX files were not getting
   created correctly under certain operating systems.

 + Mystic will now restore the screen on the user's side after sysop chat
   modes.

 + Mystic was looking for FILE_ID.DIZ in the Linux version of Mystic.  This
   has been changed to look for file_id.diz instead.

 ! In line quote mode, Mystic would not allow you to quote a range of text
   that wasn't already displayed.

 ! MIDE: When changing the file name during a "Save As", MIDE was not
   renaming the window to the new file name.

 + Added new MPL function: PATHCHAR.  This will allow for MPE programs to
   be easily written to work on both Unix and DOS type file systems.

 ! The index files in Squish message bases were getting written incorrectly.
   I think i've managed to nail this bug but I haven't had any substancial
   testing done as none of my alpha sites run Squish message bases. :(

 + MCFG: Added (ALT+S) Sort into the status line of the file base editor.
   Sorting was always available, but for some reason I never put it on
   the status line.  Even the help listing had ALT-S documented. =]

 + Changed the INSTALL program to use CTRL-S to start the installation,
   instead of the F2 key that was used.  Linux users were not able to
   use F2 over an xterminal.

 + MPL: Added new procedure called GETSCREENINFO.  This is used to read the
   values of the Screen Info MCI codes.  This will come in handy when
   creating lightbar mods which use ANSI templates similar to the rest of
   Mystic.

 ! Fixed a small memory leak in the DOS/WIN/OS2 versions caused when running
   external programs (doors).

 ! Fixed the DOOR32 problems in Windows version.  I had some code commented
   out when I released 1.07.  I forgot to 'put things back to normal' when
   I was done testing some things before the release. =]

 ! Fixed the viewing of the BBS list in the Linux version.  Just the case of
   an error in file casing.  Mystic was looking for a data file in all
   uppercased letters when it should have been lowercased.

 ! Fixed the error with inserting a new menu in the Linux internal menu
   editor.

 ! Fixed a small problem with displaying the time in twelve hour format.
   It'd display 12:01am when it should have said been 12:01pm.

 ! The BI mci code (User's Birthdate) wasn't being displayed correctly.

.------------------------------------------------.
| Mystic BBS v1.07.2 RELEASED : January 20, 2000 |
`------------------------------------------------'

Version 1.07.3


 + Added (Q)uit to prompt #361.  Before if you selected to add to the BBS
   list, you'd have to fill out the entire entry before you could save or
   abort.

 ! Fixed a problem with the Linux MPE loader.  If you tried to run a
   script outside of the script directory, things wouldn't work.  Mystic
   was looking for a "\" instead of a "/".

 + MYSTPACK: Changed the file names of the temporary files created when
   packing bases.  Hopefully this will solve it crashing on some Linux
   distributions.

 ! When Mystic prompted for an upload file name, a space could be entered
   as a valid filename.

 ! MPL: When compiling a program, Numerical variables could be assigned to
   a function which returned variables in the type of String.  A mismatch
   error should have occured.

 ! When the remote screen was redrawn after a sysop chat session, it would
   redraw incorrectly on if the status bar was NOT in single line mode.

 + Mystic now creates QWK packet's CONTROL.DAT file in MSDOS format even
   in Unix type file systems.  This seems to be more compatible with all
   types of QWK readers.

 ! MPL: When assigning certain numerical variable types, MIDE and MPLC would
   report a variable type mismatch when it shouldn't have.

 + Optimized the idle sensitivity within Mystic's Windows version.  This
   should make keyboard input a little faster/more efficient.

 + Enhanced the method Mystic uses to determine if a line of message text
   is quoted text.  A few QWK readers would indent quoted text within the
   message and Mystic wouldn't see it as quoted text.

 ! Fixed a bug in the file and message base selection listing.  When the
   base listing was aborted, Mystic would only let an area be selected if it
   were already displayed in the list.

 + Mystic/Windows will now check to see if the window title was changed
   after running a door, and restore it as "Mystic Node x" if it has been
   changed.

 ! If the SysOp was in two line status bar mode and the node chat template
   used line 23 as the input line, the teleconferance wouldn't work right.
   Fixed.

 + Added new command into the message reading system.  The (H) key will now
   set the current message as the high water (last read) pointer.  At the
   moment it doesn't display anything telling you that it worked (when H is
   pressed), but it does work.  The reason for this is that I don't like to
   add new prompts into minor builds.  I'll add the new prompts for it in
   the 1.08 release.  Just thought i'd include it in this form because
   there were a couple requests for this feature.

 + The ENTER key is now available in menus using longkey input.

 ! The Hotkey and Longkey settings were reversed in MCFG's menu editor.

 ! When using the lightbar file lister's previous page option, it'd skip
   the second page (and ONLY the second page) and go directly from the
   third page to the first page in the listing.  Fixed.

 + The ESCAPE key in the full screen message editor will now bring up the
   command prompt.

 + MCFG: There is now a command to delete a ghosted user from within the
   node manager.

 + MCFG: Changed all the commands within MCFG to use CTRL keys instead of Fx
   or ALT keys.  It may take a little to get used to these changes, but it
   allows for us to have MCFG work over terminals in Linux while keeping all
   the function keys consistant in all versions of MCFG.

 + MCFG: The mouse cursor is no longer present in the Windows version.

 + MCFG: The window title is now set to "Mystic Configuration"

 + The Linux version of Mystic will now accept the D3 menu command.  This
   allows the Linux version to write a DOOR32.SYS drop file.

 ! MPL: Fixed a bug with the UserDeleted variable which could cause the
   user's flags to get corrupted.

 ! The CHAIN.TXT drop file now outputs the user's age field and a zero for
   the gold field.  Apparently, having a blank and not a 0 for gold would
   cause some doors to crash.

 ! Fixed some Squish related QWK bugs, which caused QWK packet corruption
   on all Squish format message bases.

 + Added the (I)gnore message reading command into the lightbar message
   index.

 ! Squish last read pointers were not stored in records based on a
   0-based user index.  This would cause problems with 3rd party SysOp
   mail readers.

 ! Fixed a problem with the lightbar message reader in Squish mode.  Mystic
   was giving strange results when the previous message command was selected
   on the last message of a base.

 + Mystic now adds the ^AMSGID and ^AREPLY fields to all outbound echomail
   posts and replies.

 + Mystic will now filter any kludge lines from message text, quoting, and
   message exporting.  Kludges lines are any line of text in which the first
   character is a ^A (smiley face)...

 ! Fixed small input bug in MCFG's language prompt editor.

 ! If a user was online at midnight, their time per day wasn't getting reset
   correctly.  Mystic will now reset their time left to whatever their
   daily limit is for their security level.

 + Added a new door command line MCI code: %U will now be replaced with
   the user's alias.

 + MCFG: Added the General Settings into the System Configuration menu.

 + MCFG: Added the Global Message Base Editing feature into the Message
   Base Editor.  This is a very handy utility.

 + The online file listing editor will now allow renaming files based on
   file casing, for operating systems that support it.

 ! Fixed a small bug in the lightbar file lister's next page option which
   would sometimes report the end of the listing without displaying the
   last file in the listing.

 + MIDE will now save its configuration file in the same path that the
   actual MIDE.EXE file exists.  This allows for MIDE to be placed in a
   directory on the PATH and will prevent it from making a new .cfg file
   in each directory MIDE is used.

 + MIDE will now also look for it's help file (mide.hlp) in the actual
   path where MIDE.EXE exists.

 ! Finally got around to nailing one of the two word wrapping bugs in the
   Full screen editor.  This one would cause the BBS to lock up under
   certain rare situations.

 + Removed the hard coded clear screen from the standard quote mode.  You
   will have to update prompt #452 with a |CL mci code in the beginning
   of the prompt for it to work the same as it did in the past...

 + MPE programs can now be executed from one of the sysop macros.  Any
   macro which begins with a ! character will execute an MPL program.  The
   format is !<mpepath><mpename>.  If <mpepath> is omitted, Mystic will
   look in the SCRIPTS directory as defined in System Paths.

 ! When an MPL program resided in the scripts path, the ParamStr(0) function
   would only return the file name of the MPL program and not the full
   path and file name as it should have.

 + Added the OS/2 native version of Mystic back into the distribution.  It
   hasn't had much testing, but hopefully it will do us well.  If you find
   any problems with it, let me know and I'll try to fix it.  Keep in mind
   that I no longer have an OS/2 development machine here so I will need
   a hand testing things.

.----------------------------------------------.
| Mystic BBS v1.07.3 RELEASED : May 13th, 2000 |
`----------------------------------------------'