User Tools

Site Tools





Visual Customization

Mystic Utilities (MUTIL)

Scripting Custom Modules

Quick Reference

What's New


Mystic BBS v1.06 - 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.06

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

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

Version 1.06

 + Added new DOOR MCI code: %0 passes the com port handle for Win32 and
   OS/2 versions only.

 ! The Win32 (and possibly the OS/2) version was displaying the message
   date incorrectly in JAM message bases.

 ! When executing a MenuCmd function from an MPE, the arrow keys would
   stop working after the MenuCmd.  This was just fixed in the past version
   but I commented the fix for it out by accident when I recompiled the
   1.05b executables.

 + The -F menu command now allows multiple flags to be manipulated instead
   of only one flag per menu command.  See MYSTIC.DOC for more information!

 + Added a new display file: EMAILHLP.XXX.  This file is displayed when the
   user enters "?" while reading e-mail messages.

 + Added a (Q)uit option to the first screen of the group editor.

 + When in the message and file base editor, Mystic will now redisplay the
   list of bases if enter is pressed at the prompt.

 ! It was rumored that ALT-U would drop carrier on a user.  I wasn't able
   to reproduce this problem, but hopefully it has been fixed.

 ! The ALT-U (upgrade user) command was not upgrading a user's time when
   their security was changed while online.

 + If @S is found in a menu's display filename, Mystic will replace it with
   the user's security level.  For example, a menu's display file of
   MAIN@S will translate to MAIN20 if the user has a security level of 20.
   If MAIN20 doesn't exist, Mystic will strip the @S and use the base
   filename (ie, MAIN in this example).

 + Bad password attempts now log the user name as well as the password

 ! Mystic was not executing events if the execution time passed while a
   user was in a door.  Now Mystic should log the user off immediately
   after returning from a door (if the event is forced) or wait until the
   user logs off (if the event is NOT forced).

 + The default screen length during a new user login is now configurable
   in System Config -> General Configuration.  Prompt #153 has been changed,
   as well as prompt 372:

        153 |CR|09Screen Pause Length (Enter/|&1):
        372 |CR|09Screen Pause Length (Enter/|&1):

 + Duplicate file scanning option: System Config - File Base Settings
   -> Upload Dupe Scan.  This can be set to three different options:

        None    -> Mystic will not scan for duplicate files
        Current -> Mystic will only scan the CURRENT file base for dupes
        All     -> Mystic will scan ALL file bases for duplicate files

 + Blind uploads have been added into Mystic.  The entire upload process
   has been rewritten.    The following prompts have been changed during the
   rewrite.  Replace these new prompts with your old ones:

       ; File upload testing FAILED text
       035 Failed

       ; File upload PASSED text
       055 Passed

       ; Xfer successful:      &1 = file name
       083 |CR|12þ |11|&1 |03found.|CR

       ; Xfer failed:  &1 = file name
       084 |CR|12þ |11|&1 |03skipped.|CR

       ; Displayed before running uploads processor
       206 |12þ |03Testing file for errors :

   The following prompts are new.  Add these to your language file and
   recompile with the new MAKELANG.EXE:

       ; Blind upload?
       375 |CR|12Blind upload?

       ; Processing uploads
       376 |CR|14Processing uploads ...|CR

       ; BLIND dupe search
       377 |12þ |03Searching for duplicate files :

       ; BLIND dupe found
       378 Dupe found.

       ; BLIND no dupe found
       379 None.

       ; Importing file_id.diz
       380 |12þ |03Importing file description :

       ; FILE_ID found
       381 Found.

       ; No FILE_ID
       382 None.

 + New display file: BLINDUL.XXX - This file is displayed after a user
   selects a blind upload, just as the UPLOAD.XXX file is displayed.

 ! Pressing enter when upgrading a user's security level from the user
   editor was sometimes causing some strange display problems.

 ! Mystic was bombing out with an error when 0 byte files were uploaded,
   or if a user tried to view the contents of a 0 byte archive.

 + New prompt info MCI code for prompt #072: &2 now displays the file
   name for which the description is being entered.

 + Mystic now prompts the user to post a message on a message base after
   the last message has been read.        A new prompt goes along with this
   addition, make sure you update your language files:

       ; Post on message base?
       383 |12Post on |MB?

 + Enhanced the archive view functions.  When a user views a text file from
   within an archive, Mystic will now display a line of text before sending
   the text file.  The filename prompt has also been added to the language
   file.  Prompt #306 should replace the old one, and prompt 384 should be
   added to your language file.

       ; Viewing text file &1 = Filename
       306 |CL|14Viewing contents of text file: |15|&1|14.|07|CR

       ; View text file filename prompt
       384 |CR|09File name:

 + More rearrangement of prompts has brought two more additions to the
   prompt file.  Add the following:

       ; Download successful
       385 |CR|12Transfer successful!

       ; Download failed
       386 |CR|12Transfer failed!

 + Added the option to download files from within archived files.  When
   viewing the contents of an archive, files can now be downloaded.  As
   a result of this added feature, prompt #304 has been changed:

       ; Archive view command prompt
       304 |CR|14Archive View: (|15R|14)e-list, (|15V|14)iew File, (|15D|14)ownload File or (|15Q|14)uit: |15

 + When viewing a text file from within an archive, MCI codes are no longer
   filtered out.  The file is displayed in straight text mode.

 ! If the last read pointer file in a JAM base was deleted for some reason,
   Mystic would not recreate it, and thus users weren't getting their last
   read information saved.

 ! Fixed a bug in MIDE which would cause an error when when text was
   marked and deleted (under certain conditions).

 + New ACS command: OI.  This returns true if the user is invisible.

 + New MCI code: AV.  This returns Yes or No depending on the user's
   node message availability.

 + New ACS command: OA.  This returns true if the user is available to
   receive node messages.

 + Added three new Prompt Info MCI codes to prompt #139 (Who's Online):

       &6 = User's gender (M or F)
       &7 = User's Age
       &8 = User's Availability

 + Added a new menu command: MM - This is a mass e-mail command, which
   allows the sysop to send multiple users e-mail all in one shot.
   The following new prompts have been added, make the nessasary changes
   to your language files, and recompile:

       ; Mass mail prompt
       387 |CRsend mass mail by:|CR|CR(1) ACS level|CR(2) List of users|CR(3) All users|CR(Q) Quit|CR|CRCommand:

       ; Mass mail ACS prompt
       388 |CREnter ACS level:

       ; Mass mail name info
       389 |CR|11Enter user name, or search string.|CREnter a blank line to end.|CR

       ; Mass mail name prompt &1 = # of users in list
       390 |CR|11|&1 |03users in list.  Enter user name:

       ; Mass mail name list
       391 |CR|14User mailing list:|CR

       ; Mass mail name format &1 = name
       392      |03|&1

       ; Mass mail name list confirmation
       393 |CR|12send e-mail to this list?

       ; sending mass mail
       394 |CR|CR|14sending mass e-mail, please wait ...

 + New language prompt #395: Displayed when a user tries to send a node
   message to an unavailable node:

       ; Node unavilable
       395 |CR|14Sorry, this user is marked as unavailable.

 + Added the option to perform a text search on message bases.  When a user
   selects to read message in the current message base, Mystic will now
   offer the option to search for text, which will search the From, To,
   and Subject fields as well as the message body.  Prompt #112 has been
   changed and a new prompt (#396) has been added:

       112 |CR|07(|14F|07)|15orward, |07(|14N|07)|15ew, |07(|14Y|07)|15ours, |07(|14S|07)|15earch, |07(|14Q|07)|15uit?

       ; Msg search prompt
       396 |CR|03Enter search string:

 + Expanded the inactivity timeout setting to allow for up to 9999
   seconds.  It would only allow for up to 255 seconds in the past.

 ! Fixed some strange MPE engine bugs in the Win32 and OS/2 versions.  For
   some reason, some MPE programs that worked fine with the DOS version
   were not working correctly with the 32-bit versions.

 + Added ([) Prev and (]) Next commands to the Protocol editor.

 + Added the ability to toggle hotkeys on or off.  A new MCI code HK is now
   available which displays ON or OFF depending on the user's hotkey setting.
   The GE menu command has been expanded as well - option 19 now toggles
   the user's hotkey status.  A new field has been added for each menu
   command in the menu command editor.    This field is called "LONG KEY" and
   works just like the hotkey field except it sets the valid key to execute
   the command when the user has hot keys toggled OFF.

 + Added new option to System Config -> New User Settings in preparation
   for the lightbar message reading system. "Message Reader" has three
   options, similar to the file lists: Normal, Lightbar, and Ask.  Two
   prompts have been added to go along with this:

      ; Info edit: Msg Read type
      397 |CR|11(|030|08) |14Normal   |15: |10View messages page by page|CR|11(|031|08) |14LightBar |15: |10Scroll message lists with arrow keys|CR|CR|15S|10ele|02ct |15T|10yp|02e: |15

      ; New user: Msg Read type
      398 |CR|11(|030|08) |14Normal   |15: |10View messages page by page|CR|11(|031|08) |14LightBar |15: |10Scroll message lists with arrow keys|CR|CR|15S|10ele|02ct |15T|10yp|02e: |15

 + Added new option to the Security Level editor.  The option
   "Post / Call Ratio" is used to set the number of posts a user must have
   within 100 calls to the BBS.

 + Added new ACS command: OP.  This option returns true if the current user
   meets the set post / call ratio for their security level.      If they do
   not meet this ratio, OP will be false.

 + Added two new MCI codes:

      PC - This returns the user's actual post / call percentage.
      SP - This returns the user's needed post / call percentage in
           order to have a passing post/call ratio.

 + Completed the new full screen ANSI message reader / lister.  There are
   lots of changes that go along with this - as the entire message reading
   process has been rewritten for this addition.

   The first new addition is a new ANSI template: ANSIMLST.XXX.  This is the
   template for the ANSI message index listing, where users can scroll
   through a list of messages with the arrow keys.  The following MCI codes
   are used:

      !1 = Y position of the top line in the message index list
      !2 = Y position of the borrom line in the message index list
      !3 = Bottom of template.  When a user exists from the list, Mystic
           will move to this Y position in preparation for other text.

   The second new addition is a new ANSI template: ANSIMRD.XXX.  This is the
   template for the actual message reader, which allows the user to scroll
   through the message using the arrow keys / pgup, pgdn keys.  The following
   MCI codes are used:

      !1 = Y position of the top line of the message text window
      !2 = Y position of the bottom line of the message text window
      !3 = Y position of the bottom of the template.

   The message header information is the same as it for the standard
   message reading mode:

      |&1  From                       |&6  Total messages in base
      |&2  To                         |&7  Reply to message number
      |&3  Subject                    |&8  See also message number
      |&4  Date / Time                |&9  Message status
      |&5  Message number

   The third new addition are new prompts.  Add the following prompts to
   your language files and recompile them using MAKELANG.EXE:

      ; Ansi msg read: index list format
      ; &1 = msg #   &2 = subject     &3 = from       &4 = to
      399 |15|$L05|&1        |10|$R30|&2 |14|$R20|&3 |13|$R20|&4

      ; Ansi msg read: index list highlight
      ; &1 = msg #   &2 = subject     &3 = from       &4 = to
      400 |08|23|$L05|&1  |$R30|&2 |$R20|&3 |$R20|&4|16

      ; Ansi msg read: index list highlight OFF
      ; &1 = msg #   &2 = subject     &3 = from       &4 = to
      401 |15|$L05|&1        |10|$R30|&2 |14|$R20|&3 |13|$R20|&4

      ; Ansi msg read: delete msg
      402 |CR|12Delete this mail?

      ; Ansi msg read: jump to msg: &1 = cur msg num  &2 = high msg num
      403 |CR|09Jump to which message? (1-|&2):

      ; Ansi msg read: scan toggle  &1 = message base name
      404 |CR|11|&1 will NOT be scanned in new message scan!

      405 |CR|11|&1 will be scanned in new message scan!
      406 |CR|11|MB is marked as mandatory reading!

 + Separated the "To:" prompt when posting a message.  The following
   new prompts are:

      ; Reply msg To: standard
      407 |CR|09To:

      ; Reply msg To: lightbar
      408 |CR|09To:

 + Mystic now has the option System Config -> New User Settings ->
   HotKeys.  This option allows for three options: Yes/No/Ask.  Two
   new prompts have been added:

      ; User edit: Hotkeys
      409 |CR|12Use hot-key input?

      ; New user: Hotkeys
      410 |CR|12Use hot-key input?

 + Added a new command to the standard message reader: (L)ist messages
   Three new prompts go along with this new addition:

      ; Msg List Header
      411 |CR|15Msg #  From                                                           To                                                                       Subject|CR|09|$D79-

      ; Msg List Format (Same prompt info as header)
      412 |15|$L05|&5  |09|$R20|&1 |$R20|&2 |10|$R30|&3

      ; Msg List Footer
      413 |09|$D79-|CR|PA

 + New MPL procedure: MOVEY.  This works just like MOVEX except it works for
   the Y position.

 + The DATE/TIME PromptInfo MCI code for message headers have been
   separated.  Now &4 = msg date, and &0 = msg time.

 ! Mystic had a slight error in the format of the CHAIN.TXT door drop file.
   This should be fixed, and it should be created properly.

 + Rewrote the variable handling in the MPE engine.  Arrays can now have
   full expressions as indicies.  For example:

       Str := 4
       Test(Str2Int(Str) - 3) := 'Hello world'

 + The Win32 version now sets the console window title to "Mystic Node x"
   where X is the node number.    Haven't added this to the OS/2 version yet
   as I haven't had the chance to search for the appropriate API call.

 + The mouse is no longer active during a Mystic BBS Win32 session as it
   was in the past.

 + The VAR statement (for defining variables) in the MPE engine has been
   rewritten to allow a comma to separate variable defintions.  For example,
   the following is now supported:

          somestr  string,
          somech   char,
          somebyte byte

 + Added local procedure variables into the MPE language.  This means that
   variables can be defined within a procedure and will only be able to be
   used in that procedure.  For example:

        Proc Hello
          Var S String
          S := 'Hello'
        Pend Hello


   The above example would not compile because the main body of the program
   is trying to access a variable which was defined within the HELLO
   procedure only.  Variables declared in the main body of the program are
   still considered global variables, and will be available to any/all

 + The MPE engine compilers now ignore all "BEGIN" and "END" keywords to
   make it a little more "pascal-syntax" friendly.  Some people think that
   the "BEGIN/END" helps make their program code more readable.  However,
   this could cause some confusion in the future since BEGIN and END don't
   come up as errors, but they are not actual valid MPL keywords.

 + MIDE now syntax highlights "BEGIN" and "END".

 + Changed the syntax of the Procedure definition in the MPL.  The new
   format is as follows:

        Procedure <procname> (<optional vars>)

   So for example, an old procedure that looked like this:

        Proc Hello_World
          WriteLn ('Hello world')
        Pend Hello_World

   Would now be changed to:

        Procedure Hello_World
          WriteLn ('Hello world')

   Now that this change has been implemented, all older .MPS source code
   will need to be modified to fit this format.  The "PROC" keyword has
   been extended to "Procedure" and the procedure name is no longer
   required after the "Pend" statement.  If you forget to remove the name
   at the end of your Pend statement, the code will still compile.  However,
   it will not execute properly!

 + Variables can now be passed to procedures!  For example, the following
   is a valid procedure:

        Procedure Print (Str String)
          WriteLn ('Contents of STR = ' + Str)

   Then, to call the procedure in your code:

        Print ('Hello World')

   And now that the MPL engine is a little more friendly to some of the
   Pascal syntax, the following is a valid procedure:

        Procedure Print (Str String)
          Str2 String,
          Str3 String
          WriteLn (Str)

 + Added four new options to menu commands MW (Write e-mail) and MP
   (post new message):

        /TO:<username>   <- This sets the message's TO field.
      /SUBJ:<subject>    <- This sets the message's SUBJECT field.
      /ADDR:<netaddr>    <- This sets the message's netmail address field.
         /F              <- Forces user to post the message (they can't
                            abort it from the editor).

 + Added two new options to the FF menu command (Create/Download file list):

              /NEW - Creates a list of only NEW files.
        /ALLGROUPS - Creates a list of files in ALL file groups.

 + New MPL function: ISLOCALKEY.  Returns TRUE or FALSE after calling
   READKEY based on who entered the key.

 ! If Allow ANSI is set to NO, Mystic will now skip the graphics detection
   and automatically set their terminal type of ASCII.

 ! Mystic was not pausing after a screen size of message and file group
   names when selecting groups.

 + Added new MPL command: WriteLocalXY.  This procedure allows text to be
   printed to the local screen only.

 - Removed MPL command: StatusWrite.  This procedure can be completely
   replaced by the new WriteLocalXY command.

 + New MPL "CFG" variable: CFGSTATUSTYPE

 + Added two new prompts, to separate the Xport message function in ansi
   and standard reading modes:

        ; Ansi msg read: export to file
        414 Export to filename:
        ; Ansi msg read: local export
        415 Export to filepath/filename:

 + Added the user's age after their birthdate in the user editor.

 + MPE change: The Write and WriteLn statements now REQUIRE that any
   variables passed or functions used are of the STRING type.  If you want
   to print numerical variables, you must use the strI2S function.

 + Added new MPE command: CONST.  This allows constant variable
   defintions to be defined.  At this time there are a few limitations...
   Any CONSTANT value cannot be used when assigning variables.  For

         Str String
         SomeStr = 'Hello World'
         Str := SomeStr

   The above example won't work, because you are trying to assign a
   variable the value of a CONSTANT.  They do work, however, in
   expression evaluations:

         SomeByte = 69
         If SomeByte > 69 Then
           WriteLn ('Greater!')
         ElseIf SomeByte < 69 Then
           WriteLn ('Less than!')
           WriteLn ('Same')

 + Added permanent user index numbers for each user.  These will be used
   quite a bit internally in the future.

 + New ACS command: Ux.  This command will return true if the user's
   permanent index matches the supplied number.  For example, an ACS of
   "u1" would only return true if the user's permanent index was 1.

 + Added FUNCTIONS into the MPE engine.  Functions work almost indentical
   to procedures except that they return values.  The following is an
   example function:

     Function Return10 : Byte
       Return10 := 10

       Temp Byte
       Temp := Return10 + 10
       WriteLn ('This should say 20 : ' + strI2S(Temp))

 + Added new prompt #416 to the mass e-mail...

      ; mass email subj: prompt
      416 |CR|09Subject:

 + Added new MPE command: ONEKEY.

 + Added new ACS option to System Config -> General Settings.  The
   "See Invisible ACS" is the ACS level required to see users marked as
   invisible in the Who's Online listing.

 + Added new USER variable into the MPE engine: USERPERMIDX is the user's
   permanent user index number.

 + The new user feedback e-mail can now be configured in System Config ->
   New User Settings.  In the past it would automatically send the e-mail
   to the SysOp name defined in System Config -> General Settings.

 + Added some new options to the Mass Upload command.  The (G)lobal command
   now scans all areas for all new files automatically.

   If no FILE_ID.DIZ file is found, Mystic will now prompt for a file
   description, unless in Auto Area or Auto Global mode.  The mass upload
   command should also be much faster than it was in previous versions!

 + Added new MPE demo program: MPEDEMO.MPS into the default full
   installation.  I'll also include it into the 1.06 upgrade package.

 + Added a wide-beta release telnet server for the Win32 version.  This
   server allows Mystic BBS for Win32 to handle incomming telnet connections
   without the need of a virtual modem driver.  Unfortunetly, existing DOS
   doors and protocol drivers will not work with this server, so it may not
   attract too many SysOps.  In the future, Mystic will have its own set of
   internal protocols which will work over a telnet connection.

 + Separated many of the "invalid password" prompts.  From now on, #417
   will be a "general" invalid password prompt, for most things like
   invalid menu passwords, invalid file/msg base passwords, etc.  Other
   invalid password prompts have been separated and will be listed

      ; General Invalid PW
      417 |CR|12Invalid password.

 + Separated the new user login PW prompts with the change password prompts.
   Along with this comes some new prompts:

      ; INFO EDIT: Do not match
      418 |CR|12 Passwords do not match!
      ; INFO EDIT: PW prompt
      419 |CR|03Enter your desired password.|CRIt should be between 4 and 20 characters.|CR|CR|09Password:
      ; INFO EDIT: PW too short
      420 |CR|12Password must be at least 4 characters long!
      ; INFO EDIT: Verify PW
      421 |CR|11Enter your password again for verification.|CR|CR|09Password:

 + Some new and changed invalid password prompts:

      ; User login: Invalid PW
      003 |CR|12invalid password.
      ; Matrix user login: Invalid PW
      293 |CR|12Invalid password.
      ; UNUSED
      331 UNUSED!!
      ; General Invalid PW
      417 |CR|12Invalid password.
      ; Invalid New User PW
      422 |CR|12Invalid password!
      ; Invalid Matrix PW
      423 |CR|12Invalid password!

 + Added new blind upload prompt:

      ; Upload: No files found
      424 |CR|15No files found!|CR|CR|PA

 + Added new read command (B)y you.  When this is selected, Mystic will
   only show messages post by the user.  Prompt 112 has been changed to
   add this command:

      112 |CR|07(|14F|07)|15orward, |07(|14N|07)|15ew, |07(|14B|07)|15y You, |07(|14Y|07)|15ours, |07(|14S|07)|15earch, |07(|14Q|07)|15uit?

 + Added new menu command: MV - View outbound (sent) e-mail.

 ! When compiling a file list, Mystic would sometimes not display the file
   base name after the "Working..." prompt.  This only happened when there
   were no files in a base and the data files didn't exist for that area.

 + File list compiler now aborts if there are no files in the list.  A new
   prompt goes along with this:

      ; File list compile: No files found
      425 |CR|15No files found!|CR|CR|PA

 + Added the ability to refuse multinode user logins on multiple nodes.
   If System Config -> General Config -> User Multiple Logins is set to
   Yes, Mystic will not allow the same user to be connected to more than
   more node at a time.  A new prompt #426 has been added:

      426 |CR|14You cannot login to more than one node at a time.|CR|CR|PA
| Jan 30th, 2000 -> Mystic BBS v1.06 - RELEASED |
whats_new_106.txt · Last modified: 2016/05/22 04:44 by avon