.---------------------------------------------------------------------------. | Mystic BBS History Documentation STARTING WITH V1.05 | `---------------------------------------------------------------------------' ! = Bug fix + = New or changed feature - = Removed .--------------------------------------------------. | Mystic BBS RELEASED Version 1.05 : May 2nd, 1999 | `--------------------------------------------------' ! Mystic was not updating the user's total message posts if they were posting via a REP offline mail packet. ! Mystic was not pausing on a screen full when displaying a text file! I was testing some code right before the 1.05 release and I left the page pausing stuff commented out. Duh... =) + Mystic now allows message bases to be defined as "mandatory" in the scan setting. This means that users will never be able to toggle the base off in their scan settings. ! When executing an MPE program, the arrow key functions would stop working after a call to the MenuCmd procedure. + Mystic now displays "None" for the user's current message and file base if they have never selected a message base instead of just blank spaces. + New MCI code: IL. This code returns either ON or OFF depending on the user's node invisibility status. + Mystic now allows file bases to be defined as "mandatory" in the scan base's scan setting. This means that users will never be able to toggle the base OFF in their scan settings. + New command option for the MN (Message New Scan) option. When supplying /M on the command line, the MN command will only scan bases that are tagged as mandatory ("Always"). I will probably be re-writing the MN and FN commands completely sometime in the near future... ! The percentage bar in MIDE would get corrupt when compiling a .MPS file larger than 32,000 bytes. Fixed! .----------------------------------------------------. | Mystic BBS RELEASED Version 1.05a : June 9th, 1999 | `----------------------------------------------------' ! Fixed a bug in the Message Base Editor of MCONFIG.EXE which caused the QWK Index to get corrupted. This caused QWK packets to be corrupted when created via Mystic BBS. ! Fixed a bug in the File Base Editor of MCONFIG.EXE. The Default New Scan field was not allowing file bases to be set to "Always Scan". + The full screen editor quote window now saves the current text position after quoting, and will resume at that position if a user opens the quote window again. + In the user editor, the [ and ] keys now wrap around to the first/last record into the user database. This makes things a little easier... + The search function in the user editor now allows a record number to be entered. If a record number entered, Mystic will automatically jump to that record. + Added a new menu hotkey: TAB. When "TAB" is entered as a hotkey, the menu command will be ran when/if a user presses the TAB key. + The DF mci code in language prompts can now have text after it. After a DF is encountered, Mystic will look for a space or the end of the prompt. For example, "|CL|DFhello more text here" will now be displayed as expected. + Added four new menu command hotkeys: RIGHT, LEFT, UP, and DOWN. These only work in non-lightbar menus and are used to detect arrow key input in standard menus. ! Fixed carrier detection problems in the OS/2 native version. ! MIDE.EXE and MPLC.EXE were not always catching undefined variables in MPS source code. ! When using the Matrix login system, if the Matrix menu was not found, Mystic would loop over and over printing: "Menu not found. Loading fallback." Mystic will now exit with an error if the Matrix menu is not found. ! Other stuff... =) .----------------------------------------------------. | Mystic BBS RELEASED Version 1.05b : July 6th, 1999 | `----------------------------------------------------' + 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 entered. ! 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: var 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' WriteLn(S) Pend Hello WriteLn(S) 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 functions. + 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 () Pend 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') Pend 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) Pend 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) Var Str2 String, Str3 String Begin WriteLn (Str) Pend + Added four new options to menu commands MW (Write e-mail) and MP (post new message): /TO: <- This sets the message's TO field. /SUBJ: <- This sets the message's SUBJECT field. /ADDR: <- 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 example: Var Str String Const SomeStr = 'Hello World' Begin Str := SomeStr End 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: Const SomeByte = 69 Begin If SomeByte > 69 Then WriteLn ('Greater!') ElseIf SomeByte < 69 Then WriteLn ('Less than!') Else WriteLn ('Same') EndIf End + 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 Begin Return10 := 10 Pend Var Temp Byte Begin Temp := Return10 + 10 WriteLn ('This should say 20 : ' + strI2S(Temp)) End + 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 below: ; 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 .---------------------------------------------------. | Mystic BBS RELEASED Version 1.06 : Jan 30th, 2000 | `---------------------------------------------------' + 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 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 RELEASED v1.07 : December 26, 2000 | `-----------------------------------------------' ! 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 RELEASED v1.07.2 : January 20, 2000 | `------------------------------------------------' + 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 !. If 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 RELEASED v1.07.3 : May 13th, 2000 | `----------------------------------------------' + New MPL function: GETUSERTIME returns the number of minutes the user has remaining. ! Kludge lines were not getting filtered out in standard message reader mode. This also caused a problem creating REPLYID tags in networked message bases. ! MCFG would exit out to the prompt when CTRL-C was used to copy a menu command in the menu editor. + Added IP blocking into Mystic's Telnet server (TSERVER). The file IPBLOCK.TXT can now be placed into the data directory and contain a list of IP addresses which should be blocked. An asterics can be used to block a mask of addresses. Each address needs to be in the format of #.#.#.# and only one address can be specified on a single line. For example: 204.186.*.* 24.67.213.* 24.87.321.534 + Completely rewrote MYSTPACK to fix some problems with the way the previous version packed the message bases. Gone should be the crashes and any problems with last read pointers being screwed up because of MYSTPACK. Also added the -pack command line, which is now required in order to start packing the bases. IE: mystpack -pack -skipfirst. Some minor cosmetic changes have been made. A spinning cursor has been added while each base is getting packed, and the total number of messages and bytes removed are displayed or each base along with a total for all bases after all packing has been completed. ! MPL: Fixed a bug which caused some of the MBASE variables to get corrupted. ! MCFG: Fixed a minor aestetics error in the global file base editor. + Added a daily history system. Mystic will now track the following things on a daily basis: emails, posts, downloads, uploads, upload KB, download KB, calls, and new users. A new menu command (G1) has been added to view all the daily history, and the following new prompts have been added: ; no history data 454 |CR|12No history data available.|CR|CR|PA ; history header 455 |CL|15Daily System History|CR|CR Date Calls New Posts Email DLs DLkb ULs ULkb|CR|08|$D79- ; history list ; &1=date &2=calls &3=newusers &4=posts &5=emails &6=dls &7=dlkb ; &8=uls &9=ulkb 456 |07|&1 |$R05|&2 |$R05|&3 |$R05|&4 |$R05|&5 |$R05|&6 |$R09|&7 |$R05|&8 |&9 ; history footer &1=total days 457 |08|$D79-|CR|15* Total days: |&1|CR|CR|PA ! The extended descriptions in the file list compiler were off by a single character. Fixed. + Added message scan date setting. Users can now set the message last read pointers based on a date. A new menu command of MD accesses this function, and a few new prompts have been added: ; msg scan date prompt 458 |CR|09Enter new message scan date |01[|10|UF|01]|09: |11 ; msg scan date global prompt 459 |CR|12Set this date for all bases? |11 ; msg scan date: updating pointers 460 |CR|12Updating pointers: Please wait... + The [ and ] keys now work while editing files within file listings. + Mystic will now automatically rename any file name longer than 70 characters (the maximum Mystic supports) during an upload or a mass upload. It will keep the file extention if there is one and make the total filename length 70 characters. If a file already exists with the new shortened name, Mystic will prompt for the user to enter a new file name for the file, and then rename it to whatever they type. Pretty slick if you ask me. =] A new prompt goes along with this: 461 |CR|12File of this name already exists.|CR|CR|09Enter new file name (max 70 chars)|CR: + Mystic's internal user editor will now accept partial user searching as well as user record number jumping. + When importing FILE_ID.DIZ, Mystic will now strip off all extra blank lines of text. So if a FILE_ID.DIZ has 10 blank lines before or after the description, Mystic will remove those 10 blank lines. + MPL: Expanded the maximum number of parameters passed in a procedure or function from 5 to 8. + Mystic can now set an ACS level for each node which a user must meet in order to login to that node. This is found in the Modem/Node editor. A changed prompt goes along with this: ; Node login ACS failed 315 |CR|14You do not have access to call this node. + MPL: Added new MPL function: MCI2STR. This function takes an MCI code and converts the value of the code into a string variable. + Added the /ALLGROUP optional data option into the QWK Download menu command. + Removed the Lightbar Yes/No configuration from the language settings into the language file as prompts. You will need to replace the following prompts with the lightbar Y/N stuff: ; Lightbar Y/N: YES text 316 |09|17Ý|15Yes|09Þ|16 |14N|11o |16 ; Lightbar Y/N: NO text 317 |14 Y|11es |09|17Ý|15No|09Þ|16 + Added a new option into the language settings. There are now two input field colors, one being the color of the typed text, and the other being the color of the field itself. This allows for some pretty cool input field combinations, when playing with these two settings and the input field fill character. + Added the language settings into MCFG, accessible via the language editor. + Added new 'percentage bar' system into MCFG's language configuration. The first percentage bar is the voting booth results bar. It is now configured with the language editor and activated when the same Prompt Info MCI code as in the past. This just allows more customization of the percentage bar. + Added a percentage bar into the lightbar message viewer. The new configuration options for the message reader percentage bar can be found in the language editor of MCFG. Two new and optional Screen Info MCI codes are now available in the ANSIMRD.XXX template file: !4 = The X/Y location and text attribute of the actual percentage of the message read (ie a number between 0 and 100). If this code is not in the template, it will be ignored. !5 = The X/Y location of the percentage bar. If this code is not in the template file, it will also be ignored. + Changed the clear screen functions in Mystic to send an ESC[2J rather than a ASCII #12 if the user has ANSI graphics. This is a little more compatible with obscure terminals and telnet clients. + MCFG now saves the selected option when navigating menus, and keeps that option highlighted when returning to a previous menu. ! When the status bar was set to single line and a user paged the sysop, Mystic wouldn't update the statusbar properly to show the user name, chat reason, and chat commands. + MCFG: Added some extra checking in the sort functions. This should prevent any sorting problems due to memory limitations in the file and message base editors. ! Fixed a bug which could cause some messages that were marked as deleted to still be readable. In fact, they'd only be actually deleted when MYSTPACK was ran on the bases. ! MCFG: Fixed a very bad bug in the user editor. If you selected CTRL-U to upgrade, then hit ESC to abort the upgrade, MCFG would upgrade the user to security level 255. VERY BAD - BUT FIXED NOW! SORRY! + Added the ability for message moving. If a user was the original poster of the message, or if the user has SysOp access rights to the message base, they can move the message to any message base they have access to by pressing (M). Changed prompts: ; Move message to where? 282 |CR|09Move to which base (?/List): ; Moving message. &1=base name 318 |CR|14Moving message to |15|&1|14... - Removed CTRL-Z and CTRL-R commands from the line mode text editor for compatibility with Linux. Also removed prompt #161. + Removed CTRL-Z in the full screen editor and the full screen text editor. CTRL-Z was save in the text editor and CTRL-Z was help in the normal full screen editor. The help command has been moved to /H. ! Fixed a huge bug in MBBSUTIL's -FPACK function which would truncate file descriptions at 45 characters. When Mystic was enhanced to allow 50 characters on a line, somehow MBBSUTIL wasn't. :( + Added two new command line features: The -U and -P command line options can be used to log in as a user from the command line, skipping the user name and password prompts, or login matrix if one is activated. These must be used along side the -B command line option in order to work. If either the user name or password supplied is not valid, Mystic will simply exit. When supplying a user name, you must replace all spaces in a name with an underscore (_). For example: MYSTIC -B0 -Usome_user_name -Ppassword The above would start Mystic in local mode with user "some user name" already logged in. + Mystic will now run STARTUP.MPE if it exists in the scripts directory directly after the graphics emulation detection/selection. + When replying to a private or e-mail message, Mystic will now force that the To: field is a valid user on the system. A changed prompt goes along with this: 161 |CR|11|&1 is not a valid user on this system. + Added new ACS command "Mx" which is based on the current minute. This command is used to check if a user is accessing a command at a certain minute. Where X is the minute. For example: M15 will prevent the user from accessing the command before :15 after each hour. + Added new ACS command "Wx" which is based on the current day of the week. Where X is a numerical value from 0 to 6, representing a day of the week: 0 = Sunday 1 = Monday 2 = Tuesday 3 = Wednesday 4 = Thursday 5 = Friday 6 = Saturday For example, "W0" would make the command only accessible on sunday. W5 would be Friday, etc. ! The Netmail Origin and Destination address was not getting set properly when replying to a netmail message. The Origin address was also not getting set properly when posting a netmail message. These are fixed! + Added new command line option: -X This option goes along with the -U and -P command line options and when supplied on the command line will execute a compiled MPL program file. contains the file name and any command line options supplied to the mpe program. As with the -U option, any spaces should be replaced with a _ character. If no path is supplied, Mystic will look in the configured scripts directory for the program. Some examples: MYSTIC -B0 -Ug00r00 -PHELLO -XTEST MYSTIC -B0 -Ug00r00 -PHELLO -XBULLETIN_BULLETIN_BULLET_CHECK MYSTIC -B0 -Ug00r00 -PHELLO -XC:\MYSTIC\SCRIPTS\GAME\MYGAME After the script is ran, Mystic will exit back to the operating system. This is mostly useful to MPE developers being that they can setup an external editor for coding their programs, and have it automatically run the program from within the editor to test things. + Expanded the maximum number of variables in an MPL program to 500. This took quite a bit of recoding because MPL was originally intended to be a simple script engine, and was written with certain limitations. Well, now one of those limitations is gone. Technically (if memory allowed), I could expand the max variables up to 64,000 now! + Added the display of the user's permanent index within MCFG's User Editor. That should have been there to begin with, but I must have overlooked it. ! Fixed a small display bug in MCFG's user editor with the "Editing User XXX of XXX" would get messed up. ! MCFG: The statusbar in the file base editor didn't have the (I)nsert command on it. I'm not sure if it was like that in 1.07.3 or just the 1.08 alphas, so I thought I'd mention it here. ! Did a full rewrite of the mandatory message base code. The old system was very buggy and allowed users to quit reading mandatory bases. In addition, the /M option of the new message scan (scan all mandatory bases) was not working properly. This should all be fixed now. + Added a new auto-running menu command type called 'LINEFEED'. If you set the hotkey of a internally generated menu to LINEFEED, Mystic will go to the next line and display the 'display text' of the command. This can be used, for example, to separate normal commands from sysop commands. + Added new 'LINEFEED' option into MCFG's menu editor. + The Linux version now sets the terminal mode back into RAW mode when returning from doors. This should solve some problems with running external programs that modified the terminal setting, causing Mystic to seem like its getting input in 'line mode' (ie, no hotkeys). + Linux: The input buffer is now purged after an ANSI detection. + Added new Door execution MCI codes: %P = Current node's temp path where door drop files are made. %T = Current user's time left in minutes. %# = Current user's permanent user index number. + MIDE: New option for auto indenting added. This can be toggled on or off within the MIDE options. + MPL: The compilers now ignore semicolons, so if you accidentally add on at the end of a line or something, the program will still compile. + MIDE: When the delete key is pressed on a blank line or if it is pressed at the end of a line, MIDE will now wrap the text from the following line onto the current line. ! When reading private e-mail, it was possible to read another user's email by using a combination of the prev/next message commands and the reply command. This has been fixed. I doubt many people found the bug though as it went over a year before it was reported to me. + New MCI display code: U#. This returns the user's permanent index number. ! The GROUP.XXX and FGROUP.XXX display files were showing up during the login sequence when Mystic was loading the user's msg/file group information. + Added a percentage bar into the lightbar file lister. The new configuration options for the file list percentage bar can be found in the language editor of MCFG. Two new and optional Screen Info MCI codes are now available in the ANSIFLST.XXX template file: !5 = The X/Y location and text attribute of the actual percentage of the message read (ie a number between 0 and 100). If this code is not in the template, it will be ignored. !6 = The X/Y location of the percentage bar. If this code is not in the template file, it will also be ignored. + If the user's NoCaller flag is set, Mystic will no longer update the total system calls. In the past, Mystic would only exempt the use from the last callers data. ! Fixed a bug which would cause the message base listing to pop up during the user's login. This was a rare bug, but I finally tracked it down and squashed it. + The optional data field of command G1 (View System History) will now accept a numerical value to display the last xx days of history. For example, optional data of 10 will show the history of the last 10 days. + New MCI Code: SN. Displays the SysOp name as configured in Mystic's configuration. ! Fixed a bug in the mass mailing procedure that would cause the From: field in the message to get corrupted. + Two new command line options for the Win32 version of Mystic. When loading Mystic, the socket descriptor or the comm handle can be passed on the command line. This is used for using 3rd party telnet and dialup servers such as a mailer. The command line options are: -TID -CID ! MPL/Linux: Fixed problems with the file access functions, specifically FSEEK, but others may have been affected by the same bug. ! While reading messages using the lightbar message index, Mystic would sometimes show messages as new when they were not. + The left/right arrow keys now work as page up and down in the lightbar file listings. ! Mystic was not checking the Post ACS for message bases when uploading a QWK reply packet. ! Mystic was not checking the ACS before running menu commands with the AFTER hotkey. ! Mystic was not checking the ACS before running menu commands with the EVERY hotkey. ! Fixed all mass email bugs. There were several and they should all be squashed now - Removed Mystic's internal Zmodem protocol. + Added support for external protocols. Mystic is now compatibile with any protocol driver that can create a DSZ-style log of the files that were transferred. Mystic will automatically set the DSZLOG environment variable before executing the configured protocol. Here are the MCI codes used in the Protocol Configuration: %0 : Returns communications handle (Win32 and OS/2 only) %1 : Node's modem port as configured %2 : User's baud rate %3 : FileName of file to send/receive (or path/filename of text file which lists all of the files if in batch mode. When receiving this will return the directory where files should be uploaded to). %4 : Node's baud rate as configured %5 : User's UserID as passed with the -UID command option %6 : User's handle. Spaces are converted to _. %7 : Current node number + New Menu command of *P for Protocol Editor and new WFC menu key P to access the Protocol Editor. + New command line option: UID. Here you can pass any value up to 60 characters in length to identify the user. It must be a single word, it cannot contain any spaces. + New MCI code UX returns the user's ID as it was passed with the -UID command, or blank if one wasn't passed. + When pressing ENTER in the lightbar message reader, Mystic will now PAGE DOWN instead of jumping to the next message immediately. This allows reading of all messages in the reader by just using the ENTER key! =] + Pressing ENTER in the lightbar file listings now work the same as the message reader. ENTER will scroll down the listing a page, and if at the bottom, will move onto the next base in the scan or quit the listing if not scanning. + New Door MCI code (translated when executing doors): %5 will be replaced by the User ID as passed with the -UID command line option. This works the same as %5 in the protocol editor. + Added the ability to execute an MPL program instead of the command line for a protocol. By starting your command line with a !, you can have Mystic run a MPE program. For example: send Command: !test %1 %2 %3 The above would execute test.mpe from your scripts directory and pass the results of the %1 %2 %3 protocol MCI codes as command parameters to the MPL program. Keep in mind that if you do use this to execute some type of protocol, you must set the DSZLOG environment variable yourself and have it point to the current node's temp directory as xfer.log. Mystic will also create an xfer.bat or xfer.sh (depending on operating system) which can also be executed. + Added prompts for protocol selection to the language file. You will need to replace the old prompts with the new prompts listed below, and then recompile your language files: ; Protocol List Header 359 |CR|14Available Protocols:|CR ; Protocol list prompt &1=HotKey &2=Description 061 |14[|15|&1|14] |&2 ; Protocol select prompt 062 |CR|14Select Protocol [|15Q/Quit|14]: |XX + Users now have the option to (R)eply to a received node to node message. There are updated prompts that go along with this: 145 |CR|09(R)eply to Message or (ENTER/Continue): |15 ; NodeMsg reply &1=from &2=node# 360 |CR|09sending reply to |&1 on node |&2: + If a user is online when another user sends them e-mail, Mystic will now notify the user via a system message that new mail has been received. + TSERVER now passes the user's IP address using the -UID command line option. + The /TO: /SUBJ: and /ADDR: options now work with the MP menu command. ! MCI codes are now stripped from Message and File base names when they are written to the Sysop logs. ! The UM (use lightbar message index in E-mail) MCI code was not working correctly. ! Fixed MCFG and MIDE "Out of memory" errors that could occur sometimes in Linux. Now if it happens, you are seriously out of memory that was allocated to those programs. =] + Added the ability to change the message subject from within the line and full screen message editors. The following new/changed prompts exist: ; Line editor "command" prompt help 167 |CR|03(|11A|03)bort Message (|11C|03)ontinue Message (|11U|03)pload Message|CR(|11Q|03)uote Message (|11S|03)ave Message (|11H|03)elp|CR(|11T|03)itle Change ; FS editor command prompt help 355 |CR|03(|11A|03)bort Message (|11C|03)ontinue Message (|11U|03)pload Message|CR(|11Q|03)uote Message (|11S|03)ave Message (|11H|03)elp|CR(|11T|03)itle Change ; line editor edit subject 462 |CR|09Enter new subject: ; FS editor edit subject 463 |CR|09Enter new subject: + Expanded the data filename size from 8 characters to 40 characters in both the message and file bases. + Mystic will now recreate MBASES.DAT with the Electronic Mail base if for some reason reason it does not exist in the data directory. + Mystic now allows the quote header to be configurable in all quoted text. A new prompt goes along with this: ; msgtext quote header &1=date &2=from &3=initials 464 On |&1, |&2 said the following... + When tagging a file in the lightbar file lister, Mystic now automatically moves to the next file after tagging the current. ! Fixed a bug in Linux relating to parsing MCI codes in a display file. + Completely rewrote all of the 'local' input and output functions in the Windows version. It should be faster. - Removed the password being displayed in clear text on the SysOp status bar when a user is logging in. + The user editor now masks the password with asterisk unless it is being edited. - Removed the DOS and OS2 versions. + Completely switched all versions of Mystic BBS over to Free Pascal. Using only one compiler now makes it much easier to maintain the code. + Added new MCI code |ISxx where XX is a two digit number. This limits the actual max amount of input on the next input prompt. Whereas IN limits the size of the input prompt space itself, this limits the actual amount of characters that will be accepted. ! Fixed a bug when attempting to determine an archive's file extension under Linux. The actual extension comparison is now NOT case sensitive when checking it against the archive tools in the configuration. ! Fixed a bug in the full screen editor, where the cursor would move strangely when using the right arrow key at the end of a line. + MBBSUTIL's UPACK (user pack) function will now go through every message base marked as "Private" and delete any messages TO or FROM the person being deleted. ! Mystic wasn't working correctly on voting questions #15-20 (if you had that many). The maximum is 20 and all 20 should work correctly now. + All door menu commands can now include the /DOS option on the command line data. If /DOS is found, drop files will be created in MSDOS format even if the operating system is not Windows. If the /DOS option is not supplied, the drop files will be created in the format of the operating system (CRLF for Windows and LF for Linux/OSX). Ex: Menu Command: DD Optional data: c:\mystic\doors\mydoor.sh %1 %2 /DOS + Removed all of the remote modem/TCPIP code for Windows and replaced it with newer stuff from Mystic 2.0 code. Unfortunately this means that built in support for modems/dialup has been removed. But it opens a lot of doors moving forward. I would like to eventually support dialup in Windows again in the future. It is probably possible using 3rd party software for now. ! Mystic was not always setting the user's node action correctly when reading messages. This should be fixed. ! Fixed various bugs with pause prompts, where some terminals sending CRLF would cause subsequent pause prompts to be skipped. + Replaced TSERVER with MIS. MIS only has its telnet functionality enabled for now. It is based off of the Mystic 2.0 server code, which had semi-working POP3/SMTP/FTP servers and seems to be more efficient and at least as stable. + Changed the WFC screen to "configuration mode", accessible by running mystic -cfg command line. This also works in Linux allowing access to the internal configuration editors. Mystic will skip checking for created directories and some other data file related start up checks when this command line is used, so that they can be corrected using the editors. Mystic only requires MYSTIC.DAT and a valid language file in order to enter configuration mode. - Removed the "screen saver" from the WFC/Configuration mode screen. It was really only useful in the DOS version which is no longer supported. + Added a new MCI code: XX. This actually does nothing, but it can be useful in some prompts files to help with prompts. For example, if you have an editor that always removes any trailing spaces, you might use it to make sure the ending space is never removed: Enter user name: Enter user name: |XX ! Fixed a bug where Mystic was doing a case sensitive check of language files in Windows. + Expanded menu names to a maximum of 20 characters now, up from 8. Now that the DOS version is no longer developed, we can finally start moving away from its limitations! There will be places where this isn't updated and that is because I didn't want to change the data file formats this close to release. + Added in a new Intel Mac OSX native version of Mystic BBS! .------------------------------------------------. | Mystic BBS RELEASED v1.08 : September 20, 2011 | `------------------------------------------------' ! Fixed a bug in the full screen editor that could sometimes garble text seemingly at random. ! The TAB and ESCAPE hotkeys were not working in lightbar menus. ! Fixed some minor display bugs in MCFG + Added new function to MBBSUTIL called -MTRASH. This will go through all message bases and delete any messages To or From the users listed in a text file. The file should contain one username per line, and the names do NOT have to be members of your BBS. MBBSUTIL -MTRASH c:\mybbs\data\trashcan.dat It is recommended to use this with your trashcan.dat file in the data directory, which Mystic uses to disallow new users with any usernames found in the file. If you have networked message bases, this could be executed whenever your tosser brings in new messages - assuming it is not already able to filter out messages on its own. + Mystic now creates semaphore files in the DATA directory when new networked mail is created: echomail.now - Created when new echomail has been posted. netmail.now - Created when new netmail has been posted. newsmail.now - Created when new "newsgroup" message has been posted. This is basically an alternative to using errorlevels to process networked messages. This is now the recommended method to use for tosser activity as there may be a time in the future when Mystic does not exit after each session. + Did some restructuring of the file base data. The following changes have been made in order to support future features: + Added FTP name for each base + Added FTP list ACS for each base + Expanded file base passwords to 20 characters + Expanded all file base ACS strings to 30 characters + Expanded the file directory to 120 characters + Expanded the display file name to 20 characters. + Added an ansi template field on a per base level. + Enabled the FTP server inside of MIS. At the time of this writing the server does not support uploads and it does not properly send file and directory dates. It has been tested with the following: Linux "ftp" - No problems Windows FTP - No problems Filezilla FTP - No problems SmartFTP - No problems Firefox - No problems Chrome - Does not work. This is a problem with Chrome which does not properly support the base FTP protocol standards (tries to force EPSV mode) I think. Internet Explorer - Does not work, cannot determine why As a result, a version of MIS is now included in the OSX and Linux versions. These versions do not support telnet (since Telnet is currently handled by inetd-type services on those platforms). The FTP server creates a virtual directory structure, one for each file base using the "FTP Name" configured for each file base. No other configuration is needed outside of setting the basic FTP stuff within the Internet options of MCFG. When configuring the FTP ACS for each file base, keep in mind that any "session"-type data in ACS will automatically return true. This means that most basic ACS works (security, time of day stuff, user flags) but some things like "ansi graphics mode" are always true, since the user cannot have a graphics mode via FTP. ! Removed some debug logging accidentally left in 1.08. + Expanded the maximum message size in the message bases to 500 lines, up from 200. This was a bigger undertaking than I had expected, so hopefully there are no issues. + Message Base permanent indexes are now shown in the internal message base editor. ! Fixed a screen bleeding bug that could happen occasionally while scrolling the screen. ! Door drop files under Linux were actually being created in old MacOS file format, unless /DOS was specified to create DOS versions. Whoops! ! Fixed the installation where it would not properly assign/create the local QWK path. ! Fixed a bug where Windows was not letting sub-processes properly inherit a socket handle. This means that NetFoss for example was not working properly with Mystic to run old DOS doors in Windows. + Mystic no longer creates duplicate socket handles when executing doors. This was added to work around a bug in Windows 95, which I have decided doesn't really need to be supported anymore. + Added in a POP3 mail server into MIS. This allows BBS e-mail be to retrieved by e-mail clients, smart phones, etc. Use MCFG to set it up under Internet Options and make sure you set your domain name correctly as all email will be User_Name@yourdomain.com. + Mystic now saves the last 5 inputs and you can use the up and down arrow keys to scroll through your input history during field-based input. This doesn't work for hotkeys and the like, only field-based input such as message subjects, node chat messages, etc. + Mystic will now remember the user name entered before "Create new user?" question and force it into the input buffer as the default value if the user selects to create a new account. Unless of course the user types "new" then it will not default to anything. ! Fixed some file-casing issues with the message base editor, when deleting a message base and its data files in Linux. + New MCI code [K sends a "clear to end of line" ANSI code, or nothing if the user does not have a capable terminal. + New MCI code BS sends a destructive backspace. ! MCI code IS was not working correctly when it was found in a display file. + New MCI code [Lxx, where XX is a two-digit number. This code takes the cursor from its current position, and does a descrutive backpace until it reaches cursor position XX. So for example, |[L01 would move the cursor to the beginning of the current line, while erasing everything on the way. If the cursor is already less than XX, it does nothing. ! Mystic now longer converts the user name to proper casing when a new message is uploaded by QWK. + Removed some data file checks on startup of Mystic. Any major issues which would cause Mystic not to start can be addressed using MCFG. + Added SMTP server into MIS to go along with the POP3 server. Settings are in MCFG. Make sure you are setting your domain name correctly. Its a very basic server. It does not reformat messages that might be sent with a client that does not word wrap at a compatible level. In addition, there is always the challenge of HTML emails. ! Fixed a small display file parsing bug. + If "newletter.txt" exists in the DATA directory, its contents will now be automatically e-mailed to new users when their account is created. + If "sysletter.txt" exists in the DATA directory, its contents will now be automatically e-mailed to the SYSOP whenever a new user account is created. An example of its contents might be: A new user account has been created! Handle: |UH Real name: |UN Security: |SL (|SD) IP: |UX This account was created on |DA at |TI. + If "hackwarn.txt" exists in the DATA directory, its contents will now be automatically e-mailed to a USER if someone tries to log in as them but fails the password check enough to be disconnected. An example of its contents might be: This is an automated E-mail sent to users when an unsuccessful attempt to login has occured. This could have been your own error, or possibly someone attempting to access your account without your knowledge. Here is some information our system has logged from this attempt: Date: |DA Time: |TI IP Address: |UX + Added a new MPL function: PurgeInput. This will clear out any local or remote input data. + Added new MCI code PB. This will purge the input buffer just as the MPL function above will. + The left and right arrow keys now function the same as page down and page up keys in the full screen editor quote window. ! Fixed a very rare MCI parsing bug. So rare it made it this long without ever being reported! Hopefully this fix doesn't create any new issues. ! Fixed a small bug where the cursor wasn't properly updating on the screen after a backspace during local mode in the Windows version! Whew! + The lightbar message reader now allows you to scroll through all messages in the message base, regardless of where you start reading from. + The HOME key now works in the lightbar message index. This returns you to the first message on the first page. + The END key now works in the lightbar message index. This takes you to the last message on the last page. + The HOME key now works in the lightbar message reader. This takes you to the start of the message. + The END key now works in the lightbar message reader. This takes you to the end of the message. + New menu command: MX. This command posts a text file to a message base. First it will look for the file in the DATA directory, but you can also include the path in the command data. The format of the command data is: Syntax: ;Area #;From;To;Subject Ex: Command: MX Data: \mystic\mystic.doc;2;g00r00;All;Mystic Documentation The command will automatically split text files into multiple posts if the text file is larger than 500 lines (the max per message). It will also append the post count onto the subject. So for example, if the above document was 1200 lines in size, it would create 3 posts in area 2 with the subjects: Mystic Documentation (1/3) Mystic Documentation (2/3) Mystic Documentation (3/3) The command caps at 10,000 lines for a text file post. Even that much would be pretty rediculous (20 posts!). + Setting message scan pointer dates now checks to see if a valid date has been entered, and aborts if an invalid date has been entered. ! MCFG wasn't updating the status bar correctly when returning from the message base edit back to the message base list. + Mystic now supports random origin lines on a per-base level. You can replace the origin line for each message base with: @RANDOM= You can include a path to the text file, but if no path is included Mystic will look in the DATA directory for the file. This allows for random origin lines to be generated from separate lists, per base if you choose. Example: Origin: @RANDOM=randomorigins.txt If the origin line is configured as above, it will select a random origin line from the file "randomorigins.txt" in the DATA directory. The random origin text file should contain one origin line per line in the file. Traditionally the maximum characters for an origin line is 50, but Mystic does not put any restriction on this - so you are responsible to keep them at a length considered acceptable. Blank lines will not be factored into the random line. If it finds a blank line, it will skip over it and select a new one. Remember, you can use MCFG's global message base editor to update every (or some) message bases at once with this new feature, if you decide to use it. + The %0 code has been added to the Test upload commmand line. This passes the socket handle. + Mystic now checks for valid date input when setting the new file scan date. ! Fixed a bug in the installation program that would cause the terminal in Linux/OS to get stuck in RAW mode if the installation encountered an error. ! Fixed a problem in the FTP server where it was returning the wrong status number with the PWD command. ! Fixed a problem with PASSIVE mode FTP transfers. The server was not opening a passive connection immediately when a PASV command was found. Instead it was waiting for the next command where a data connection would be used to open it. This caused the server not to work with some clients. As a result, it now works with Internet Explorer and Cyberduck. + Added Extended Passive and Extended Port support to the FTP server. The server now works with Google Chrome as a client. .------------------------------------------------. | Mystic BBS RELEASED v1.09 : October 17, 2011 | `------------------------------------------------'