2012-02-13 15:21:07 -08:00
|
|
|
|
.---------------------------------------------------------------------------.
|
|
|
|
|
| Mystic BBS History Documentation Versions 1.05 through 1.10 |
|
|
|
|
|
`---------------------------------------------------------------------------'
|
|
|
|
|
|
|
|
|
|
! = Bug fix
|
|
|
|
|
+ = New or changed feature
|
|
|
|
|
- = Removed
|
|
|
|
|
|
|
|
|
|
Note: Not all changes have been documented here. I try to keep a fairly
|
|
|
|
|
accurate list of changes, but there are many times when I either
|
|
|
|
|
forget, or just don't think its important to document a change.
|
|
|
|
|
|
|
|
|
|
.-----------------------------------------------------.
|
|
|
|
|
| May 2nd, 1999 -> Mystic BBS Version 1.05 - RELEASED |
|
|
|
|
|
`-----------------------------------------------------'
|
|
|
|
|
|
|
|
|
|
! 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!
|
|
|
|
|
|
|
|
|
|
.------------------------------------------------.
|
|
|
|
|
| June 9th, 1999 -> Mystic BBS v1.05a - RELEASED |
|
|
|
|
|
`------------------------------------------------'
|
|
|
|
|
|
|
|
|
|
! 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... =)
|
|
|
|
|
|
|
|
|
|
.------------------------------------------------.
|
|
|
|
|
| July 6th, 1999 -> Mystic BBS v1.05b - RELEASED |
|
|
|
|
|
`------------------------------------------------'
|
|
|
|
|
|
|
|
|
|
+ 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<31> |11|&1 |03found.|CR
|
|
|
|
|
|
|
|
|
|
; Xfer failed: &1 = file name
|
|
|
|
|
084 |CR|12<31> |11|&1 |03skipped.|CR
|
|
|
|
|
|
|
|
|
|
; Displayed before running uploads processor
|
|
|
|
|
206 |12<31> |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<31> |03Searching for duplicate files :
|
|
|
|
|
|
|
|
|
|
; BLIND dupe found
|
|
|
|
|
378 Dupe found.
|
|
|
|
|
|
|
|
|
|
; BLIND no dupe found
|
|
|
|
|
379 None.
|
|
|
|
|
|
|
|
|
|
; Importing file_id.diz
|
|
|
|
|
380 |12<31> |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 <procname> (<optional vars>)
|
|
|
|
|
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:<username> <- This sets the message's TO field.
|
|
|
|
|
/SUBJ:<subject> <- This sets the message's SUBJECT field.
|
|
|
|
|
/ADDR:<netaddr> <- This sets the message's netmail address field.
|
|
|
|
|
/F <- Forces user to post the message (they can't
|
|
|
|
|
abort it from the editor).
|
|
|
|
|
|
|
|
|
|
+ Added two new options to the FF menu command (Create/Download file list):
|
|
|
|
|
|
|
|
|
|
/NEW - Creates a list of only NEW files.
|
|
|
|
|
/ALLGROUPS - Creates a list of files in ALL file groups.
|
|
|
|
|
|
|
|
|
|
+ New MPL function: ISLOCALKEY. Returns TRUE or FALSE after calling
|
|
|
|
|
READKEY based on who entered the key.
|
|
|
|
|
|
|
|
|
|
! If Allow ANSI is set to NO, Mystic will now skip the graphics detection
|
|
|
|
|
and automatically set their terminal type of ASCII.
|
|
|
|
|
|
|
|
|
|
! Mystic was not pausing after a screen size of message and file group
|
|
|
|
|
names when selecting groups.
|
|
|
|
|
|
|
|
|
|
+ Added new MPL command: WriteLocalXY. This procedure allows text to be
|
|
|
|
|
printed to the local screen only.
|
|
|
|
|
|
|
|
|
|
- Removed MPL command: StatusWrite. This procedure can be completely
|
|
|
|
|
replaced by the new WriteLocalXY command.
|
|
|
|
|
|
|
|
|
|
+ New MPL "CFG" variable: CFGSTATUSTYPE
|
|
|
|
|
|
|
|
|
|
+ Added two new prompts, to separate the Xport message function in ansi
|
|
|
|
|
and standard reading modes:
|
|
|
|
|
|
|
|
|
|
; Ansi msg read: export to file
|
|
|
|
|
414 Export to filename:
|
|
|
|
|
; Ansi msg read: local export
|
|
|
|
|
415 Export to filepath/filename:
|
|
|
|
|
|
|
|
|
|
+ Added the user's age after their birthdate in the user editor.
|
|
|
|
|
|
|
|
|
|
+ MPE change: The Write and WriteLn statements now REQUIRE that any
|
|
|
|
|
variables passed or functions used are of the STRING type. If you want
|
|
|
|
|
to print numerical variables, you must use the strI2S function.
|
|
|
|
|
|
|
|
|
|
+ Added new MPE command: CONST. This allows constant variable
|
|
|
|
|
defintions to be defined. At this time there are a few limitations...
|
|
|
|
|
Any CONSTANT value cannot be used when assigning variables. For
|
|
|
|
|
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
|
|
|
|
|
|
|
|
|
|
.-----------------------------------------------.
|
|
|
|
|
| Jan 30th, 2000 -> Mystic BBS v1.06 - RELEASED |
|
|
|
|
|
`-----------------------------------------------'
|
|
|
|
|
|
|
|
|
|
+ Added new Prompt Info MCI code to Prompt #30: &7 now returns the user's
|
|
|
|
|
age.
|
|
|
|
|
|
|
|
|
|
+ New MCI code: RPxx. This sets Mystic's pause count to the value contained
|
|
|
|
|
in xx when displaying a text file. I've found that this can come in
|
|
|
|
|
handy when doing some in depth modding. For example: RP10 will set the
|
|
|
|
|
pause count to 10, meaning Mystic thinks its displayed 10 lines since the
|
|
|
|
|
last page pause.
|
|
|
|
|
|
|
|
|
|
! SysOp feedback after a chat page was not working. It does now! =)
|
|
|
|
|
|
|
|
|
|
+ The <space> key can now be used to toggle the Yes/No lightbars.
|
|
|
|
|
|
|
|
|
|
! New user feedback was not being forced. In other words, the user would
|
|
|
|
|
be able to abort posting the message. This has been fixed.
|
|
|
|
|
|
|
|
|
|
+ LANGEDIT.EXE will now ask if you would like the language file
|
|
|
|
|
automatically compiled after saving.
|
|
|
|
|
|
|
|
|
|
+ Updated the node chat a little bit. The chat now has real-time updating,
|
|
|
|
|
which basically means that you can be typing a reply and it will still
|
|
|
|
|
display other user's text. In the past, if you weren't typing it would
|
|
|
|
|
look for new text from other nodes, but now it will do it the entire time
|
|
|
|
|
you're in chat, no matter what you're doing! I've also been thinking
|
|
|
|
|
about rewriting the chat to be more IRC-like. If that sounds good, let
|
|
|
|
|
me know and i'll probably do it! =)
|
|
|
|
|
|
|
|
|
|
+ New program LANGUPDT.EXE has been added to the Mystic upgrade packages.
|
|
|
|
|
This program will automatically update old language files with new or
|
|
|
|
|
changed prompts...
|
|
|
|
|
|
|
|
|
|
! MPE: The GET/PUTMBASE functions were off by a number, for example
|
|
|
|
|
GetMBase(1) would actually return Base 0.
|
|
|
|
|
|
|
|
|
|
! MPE: PutMBase was corrupting a field in the message base record.
|
|
|
|
|
|
|
|
|
|
+ MPE: Added new MBASE variable: MBASENTYPE. Just to clear some things up
|
|
|
|
|
here:
|
|
|
|
|
|
|
|
|
|
MBASENTYPE = Net type (Local, Echomail, etc)
|
|
|
|
|
MBASEBTYPE = Base type (JAM, Squish)
|
|
|
|
|
MBASEPTYPE = Post type (Public, Private)
|
|
|
|
|
|
|
|
|
|
! Fixed a small bug in the Win32 full screen editor that caused Mystic to
|
|
|
|
|
lock up.
|
|
|
|
|
|
|
|
|
|
+ New prompt in node chat:
|
|
|
|
|
|
|
|
|
|
; nodechat input &1 = username
|
|
|
|
|
427 |07[ |15|&1 |07>> |03
|
|
|
|
|
|
|
|
|
|
+ Added a configurable WFC screen template. The WFC screen template is
|
|
|
|
|
found in the data directory as "WFCSCRN.XXX". The random display file
|
|
|
|
|
system works as well, allowing up to 10 randomly selected WFC screens!
|
|
|
|
|
|
|
|
|
|
The following screen info codes are used:
|
|
|
|
|
|
|
|
|
|
!1 Status line (40 characters in length)
|
|
|
|
|
!2 System Time
|
|
|
|
|
!3 System Date
|
|
|
|
|
!4 Next Event Time
|
|
|
|
|
!5 Top X/Y position and standard color of node window
|
|
|
|
|
!6 Bottom X/Y position and highlight color of node window
|
|
|
|
|
!7 Top X/Y position and color of modem window
|
|
|
|
|
!8 Bottom X/Y position of modem window
|
|
|
|
|
|
|
|
|
|
+ MPE: Added two new USER variables:
|
|
|
|
|
|
|
|
|
|
USERCURMBASE - User's current MBASE
|
|
|
|
|
USERCURFBASE - User's current FBASE
|
|
|
|
|
|
|
|
|
|
+ Added User's Screen Size into the user editor. I can't believe I forgot
|
|
|
|
|
to add that in the past! =)
|
|
|
|
|
|
|
|
|
|
! Mystic was not updating the user's flags on the statusline after the
|
|
|
|
|
-F menu command was used.
|
|
|
|
|
|
|
|
|
|
+ Passing a zero to the baud parameter when loading Mystic now skips the
|
|
|
|
|
WFC screen and runs the user login in local mode. Passing a -L on the
|
|
|
|
|
command line still goes to the WFC screen first.
|
|
|
|
|
|
|
|
|
|
+ Changed the split screen chat a little bit. First, the text color is
|
|
|
|
|
now defined by the screen info MCI codes. This allows the SysOp and
|
|
|
|
|
User windows to have different text color. Second, two new screen info
|
|
|
|
|
codes have been added:
|
|
|
|
|
|
|
|
|
|
!0 - Specifies the X/Y position and color for the user's time left.
|
|
|
|
|
It will be updated every minute, and is optional.
|
|
|
|
|
!9 - Specified the X/Y position and color for the system time. It
|
|
|
|
|
will be updated every minute and is optional.
|
|
|
|
|
|
|
|
|
|
+ Added new nodechat prompt:
|
|
|
|
|
|
|
|
|
|
; nodechat user not found
|
|
|
|
|
428 |CR|15User not found.
|
|
|
|
|
|
|
|
|
|
! The "S" optional data option for the MR menu command was not working
|
|
|
|
|
properly.
|
|
|
|
|
|
|
|
|
|
! When reading messages in the lightbar message reader, users were able
|
|
|
|
|
to delete messages even if they were not the user who posted them.
|
|
|
|
|
|
|
|
|
|
! Fixed a bug in the menu hotkeys when entering "/x" commands. Sometimes
|
|
|
|
|
Mystic would temorarily ignore input after backspacing over the "/"
|
|
|
|
|
character.
|
|
|
|
|
|
|
|
|
|
+ The maximum number of menu commands have been expanded to 75 commands
|
|
|
|
|
per menu, rather than the old maximum of 50 commands.
|
|
|
|
|
|
|
|
|
|
+ Added the option for Sysop/Users to toggle which mode the lightbar
|
|
|
|
|
message reader starts in: message index mode, or message reading mode.
|
|
|
|
|
Along with these additions comes to following:
|
|
|
|
|
|
|
|
|
|
System Config -> New User Settings -> Msg Lightbar Idx. This option
|
|
|
|
|
sets the default for new accounts and can be set to "Yes/No/Ask".
|
|
|
|
|
|
|
|
|
|
Added prompt #429:
|
|
|
|
|
; new user: use lightbar message index?
|
|
|
|
|
429 |CR|12Use lightbar message index? |11
|
|
|
|
|
|
|
|
|
|
Added new option to menu command GE: 21. This toggles the status of
|
|
|
|
|
the user's lightbar message reading index mode on/off.
|
|
|
|
|
|
|
|
|
|
Added new MCI code: ML. This returns on/off based on the status of
|
|
|
|
|
the lightbar message index.
|
|
|
|
|
|
|
|
|
|
+ Added the (Q)uit command to the lightbar message reader. This command
|
|
|
|
|
was in the standard message reader, but I somehow overlooked it in the
|
|
|
|
|
lightbar version.
|
|
|
|
|
|
|
|
|
|
+ Added new program: MYSTPACK.EXE. This program packs all JAM message
|
|
|
|
|
bases on your BBS. It will remain external from MBBSUTIL.EXE until I am
|
|
|
|
|
able to finish the Squish side of things. Here's the following
|
|
|
|
|
functions:
|
|
|
|
|
|
|
|
|
|
- Removes deleted messages from your data files.
|
|
|
|
|
- Renumbers messages in numerical order
|
|
|
|
|
- Renumbers the reply chains (Refer to and See Also)
|
|
|
|
|
- Updates each user's last read pointers
|
|
|
|
|
- Removes any message in violation of the Max Msgs / Max Age settings
|
|
|
|
|
for each base (found in the Message Base Editor).
|
|
|
|
|
|
|
|
|
|
It also has the option to -SKIPFIRST, which will skip the first message
|
|
|
|
|
in all local message bases, so they will never be deleted unless marked
|
|
|
|
|
deleted by the SysOp. This allows for a "This base is for..." or
|
|
|
|
|
BASE_ID.DIZ message to always stay as the first message.
|
|
|
|
|
|
|
|
|
|
! When inputting a password and CTRL-Y was pressed, Mystic was filling the
|
|
|
|
|
entire field up with the echo character instead of blank spaces.
|
|
|
|
|
|
|
|
|
|
+ Added two new command options to the FG menu command (change file
|
|
|
|
|
group). The + and - command will now move to the next and the previous
|
|
|
|
|
file group. Mystic will automatically find the first file base the user
|
|
|
|
|
has access to after changing groups.
|
|
|
|
|
|
|
|
|
|
+ Added two new command options to the MG menu command (change message
|
|
|
|
|
group). The + and - command will now move to the next and the previous
|
|
|
|
|
message group. Mystic will automatically find the first message base
|
|
|
|
|
the user has access to after changing groups.
|
|
|
|
|
|
|
|
|
|
+ Added new prompt: Message base scan setting footer:
|
|
|
|
|
|
|
|
|
|
; msg scan setting footer
|
|
|
|
|
430
|
|
|
|
|
|
|
|
|
|
+ In Lightbar menus, Mystic will now keep track of the user's lightbar
|
|
|
|
|
position when a menu command is ran. In the past, it would always default
|
|
|
|
|
to the first command on the menu when it was redisplayed.
|
|
|
|
|
|
|
|
|
|
+ Full screen editor quote window now only adds a blank line to the bottom
|
|
|
|
|
of the message if new text was quoted.
|
|
|
|
|
|
|
|
|
|
+ The %0 door MCI code now returns the fossil com port in the DOS version.
|
|
|
|
|
In the past, it would not get filtered out.
|
|
|
|
|
|
|
|
|
|
! Ocassionally, when editing text of a posted message, Mystic would garble
|
|
|
|
|
up the display.
|
|
|
|
|
|
|
|
|
|
! Mystic was not correctly rewriting the message index information after
|
|
|
|
|
saving changes to an edited message. This would cause some JAM packers
|
|
|
|
|
to duplicate messages, which other JAM packers would process the index
|
|
|
|
|
correctly.
|
|
|
|
|
|
|
|
|
|
+ Mystic will now try to put new users into a group instead of having them
|
|
|
|
|
start out in no group.
|
|
|
|
|
|
|
|
|
|
+ The (N) command during a lightbar message index has been changed to
|
|
|
|
|
(G) to match the identical command when reading in non-lightbar mode.
|
|
|
|
|
This function goes to the next base in the message scan, or does
|
|
|
|
|
nothing if not in a message scan. You may want to update your lightbar
|
|
|
|
|
message index template and your AMSGHLP1.XXX files to reflect these
|
|
|
|
|
changes.
|
|
|
|
|
|
|
|
|
|
+ The (ESC) function in the lightbar message reader has been changed to
|
|
|
|
|
quit reading. In the past, it would show the lightbar message index.
|
|
|
|
|
|
|
|
|
|
+ The lightbar message index command, which was (ESC) in the past, has
|
|
|
|
|
been changed to (L) to reflect the same command as the non-lightbar
|
|
|
|
|
reading command to view the message index.
|
|
|
|
|
|
|
|
|
|
+ Made some major changes to the file lists, in preparation for support
|
|
|
|
|
for long file names. The ANSIFLST.XXX template has been changed quite a
|
|
|
|
|
bit and the highlight data has been moved to prompts to make it more
|
|
|
|
|
flexible. The following Screen Info codes are used in ANSIFLST.XXX now:
|
|
|
|
|
|
|
|
|
|
!1 = Top Y location of the file list window.
|
|
|
|
|
!2 = Bottom Y location of the file list window.
|
|
|
|
|
!3 = Y location of the status text.
|
|
|
|
|
!4 = X/Y location of the number of files tagged.
|
|
|
|
|
|
|
|
|
|
The following prompts are new or changed:
|
|
|
|
|
|
|
|
|
|
; Standard file list: #/filename:
|
|
|
|
|
; &1 = file num, &2 = filename, &3 = tag char
|
|
|
|
|
042 |15|&1|07|&3 |14|&2
|
|
|
|
|
|
|
|
|
|
; Standard file list: description/info
|
|
|
|
|
; &1 = size, &2 = date, &3 = DLs, &4 = desc, &5 = uploader
|
|
|
|
|
043 |07<30><37> |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<30><37> |09|$L11|&1 bytes |10|&2 |11|&4
|
|
|
|
|
|
|
|
|
|
; Lightbar file list, ext desc: &4 = description
|
|
|
|
|
435 |11|$D34 |&4
|
|
|
|
|
|
|
|
|
|
; Lightbar file list, uploaded by: &5 = uploader
|
|
|
|
|
436 |03|$D34 Uploaded By: |&5
|
|
|
|
|
|
|
|
|
|
; Standard file list, uploaded by: &5 = uploader
|
|
|
|
|
437 |03|$D34 Uploaded By: |&5
|
|
|
|
|
|
|
|
|
|
! When a user tried to login on more than one node at a time (and multiple
|
|
|
|
|
login is disabled), their time left was being set to 0.
|
|
|
|
|
|
|
|
|
|
+ Added new MCI code: PI. This just displays a | character.
|
|
|
|
|
|
|
|
|
|
! There was a security leak in Mystic's email system that allowed user's to
|
|
|
|
|
access other user's email messages! This has been fixed!
|
|
|
|
|
|
|
|
|
|
+ Added a set of internal file transfer protocols. Included are the
|
|
|
|
|
following:
|
|
|
|
|
|
|
|
|
|
Xmodem
|
|
|
|
|
Xmodem/CRC
|
|
|
|
|
Xmodem/1K
|
|
|
|
|
Ymodem Batch
|
|
|
|
|
Ymodem/G Batch
|
|
|
|
|
Zmodem Batch
|
|
|
|
|
|
|
|
|
|
Support for external protocols has been removed, at least temporarily.
|
|
|
|
|
I'm not aware of any external protocol drivers that will work with
|
|
|
|
|
long file names, or with Mystic's internal telnet server anyway. So
|
|
|
|
|
supporting them wouldn't do much good.
|
|
|
|
|
|
|
|
|
|
Two changed prompts go along with this:
|
|
|
|
|
|
|
|
|
|
; Protocol select batch prompt
|
|
|
|
|
061 |CR|14[|15Y|14] Ymodem|CR[|15G|14] Ymodem/G|CR[|15Z|14] Zmodem|CR|CRSelect Protocol [|15Y G Z|14]:
|
|
|
|
|
|
|
|
|
|
; Protocol select standard prompt
|
|
|
|
|
062 |CR|14[|15X|14] Xmodem CRC|CR[|151|14] Xmodem 1K|CR|14[|15Y|14] Ymodem|CR[|15G|14] Ymodem/G|CR[|15Z|14] Zmodem|CR|CRSelect Protocol [|15X 1 Y G Z|14]:
|
|
|
|
|
|
|
|
|
|
Also, be aware that when updating you will probably want to modify all the
|
|
|
|
|
prompts that ask for a filename, by adding a CR at the end of them. For
|
|
|
|
|
example:
|
|
|
|
|
|
|
|
|
|
OLD: 344 |CREnter file name:
|
|
|
|
|
NEW: 344 |CREnter file name|CR:
|
|
|
|
|
|
|
|
|
|
- Display files PROTO.XXX and PROTOB.XXX have been removed, as they are
|
|
|
|
|
useless now. You can replace prompts #61 and #62 with the PROTO and
|
|
|
|
|
PROTOB display files if you want to still use those files.
|
|
|
|
|
|
|
|
|
|
+ Added new LightBar Grid menu type. In the menu flags for each menu,
|
|
|
|
|
there is now a menu type field, which can be set to any one of the
|
|
|
|
|
following options:
|
|
|
|
|
|
|
|
|
|
Standard
|
|
|
|
|
Lightbar
|
|
|
|
|
Lightbar Grid
|
|
|
|
|
|
|
|
|
|
Both Standard and Lightbar options work the same as they have in the
|
|
|
|
|
previous versions, but the LightBar Grid system implements a way more
|
|
|
|
|
confusing and way more flexible LightBar system. =)
|
|
|
|
|
|
|
|
|
|
When the grid system is activated on a menu, it will use the following
|
|
|
|
|
new options that have been added to each menu command within a menu:
|
|
|
|
|
|
|
|
|
|
Arrow Up : 1
|
|
|
|
|
Arrow Down : 5
|
|
|
|
|
Arrow Left : 2
|
|
|
|
|
Arrow Right : 4
|
|
|
|
|
|
|
|
|
|
If a menu command is currently highlighted in a lightbar grid menu, and
|
|
|
|
|
the up arrow is pressed, Mystic will jump to menu command #1. If the
|
|
|
|
|
down arrow is pressed, Mystic will jump to menu command #5. The same
|
|
|
|
|
also goes for the left and right options.
|
|
|
|
|
|
|
|
|
|
As you can see, this will allow for an enormous amount of flexibility as
|
|
|
|
|
compared to the previous lightbar system and the lightbar systems found
|
|
|
|
|
in most other BBS packages. However, its a little more work to create
|
|
|
|
|
these menus so I imagine only some of the hard core SysOps will make
|
|
|
|
|
much use of this system.
|
|
|
|
|
|
|
|
|
|
+ Due to "popular demand", file description line length has been expanded
|
|
|
|
|
from 45 characters to 50 characters.
|
|
|
|
|
|
|
|
|
|
+ The mass upload command now executes the upload tester if one has been
|
|
|
|
|
configured for Mystic.
|
|
|
|
|
|
|
|
|
|
+ Added a "Post on this base?" prompt after reading messages into the
|
|
|
|
|
Lightbar message reader.
|
|
|
|
|
|
|
|
|
|
+ Cleaned up the functionality of the Lightbar message reader quite a bit,
|
|
|
|
|
to make it operate more like the standard reader in certain places.
|
|
|
|
|
|
|
|
|
|
+ MPE: New MPL function ODD. Returns true or false based on if the passed
|
|
|
|
|
number is ODD or EVEN.
|
|
|
|
|
|
|
|
|
|
+ MPE: Finished up the CONST variable support. In the past CONST
|
|
|
|
|
variables would only work in evaluations and could not be used in
|
|
|
|
|
variable assigning statements.
|
|
|
|
|
|
|
|
|
|
+ MPE: In the past, declared functions were not allowed in expression
|
|
|
|
|
evaluations. They are now! =)
|
|
|
|
|
|
|
|
|
|
+ MPE: Boolean parameters are now allowed in declared functions and
|
|
|
|
|
procedures.
|
|
|
|
|
|
|
|
|
|
+ MPE: Boolean modifiers were not allowed when assigning variables. I
|
|
|
|
|
totally overlooked that somehow and never noticed that it wasn't
|
|
|
|
|
implemented. For example, this will work now:
|
|
|
|
|
|
|
|
|
|
Function Neg (Bol Boolean) : Boolean
|
|
|
|
|
Begin
|
|
|
|
|
Neg := Not Bol
|
|
|
|
|
Pend
|
|
|
|
|
|
|
|
|
|
+ Added a character in the lightbar message index listing to mark messages
|
|
|
|
|
which are new. The character can be setup in System Config -> Language
|
|
|
|
|
Definitions -> New Msg Char. Prompts #399-401 now have a promptinfo &5
|
|
|
|
|
code that returns either the new msg char or a space.
|
|
|
|
|
|
|
|
|
|
+ Recoded some internal MPE engine functions. The compiler is probably
|
|
|
|
|
now a little faster than it was in the previous release, and the executor
|
|
|
|
|
engine is probably about 300-400% faster in most cases!
|
|
|
|
|
|
|
|
|
|
+ Cleaned up the word wrapping in the full screen editor. In the past,
|
|
|
|
|
if a paragraph existed under the paragraph currently being edited, Mystic
|
|
|
|
|
would allow the text from the first paragraph to wrap into the second
|
|
|
|
|
paragraph. The editor now detects a second paragraph and will insert
|
|
|
|
|
a line when wrapping to prevent this.
|
|
|
|
|
|
|
|
|
|
+ Added a second set of access flags for each user.
|
|
|
|
|
|
|
|
|
|
+ Added new ACS command: "Dx". This command works just like the "Fx" ACS
|
|
|
|
|
command, except it targets the second set of access flags as opposed to
|
|
|
|
|
the first set, which "Fx" checks.
|
|
|
|
|
|
|
|
|
|
+ The login display file "FLAGx.XXX" has been changed to "FLAG1x.XXX".
|
|
|
|
|
|
|
|
|
|
+ Added new display file "FLAG2x.XXX", which is works just like FLAG1.XXX
|
|
|
|
|
except it targets the second set of access flags. IE: FLAG2A.XXX will
|
|
|
|
|
display during login if the user has flag A set in their second set.
|
|
|
|
|
|
|
|
|
|
+ Rewrote the user editor to make room for the second set of flags, and
|
|
|
|
|
other new user options.
|
|
|
|
|
|
|
|
|
|
+ Added new menu command: -D. This works identical to the -F command, and
|
|
|
|
|
is used to toggle or set flags in the user's SECOND set.
|
|
|
|
|
|
|
|
|
|
+ Added new user database field: E-mail address. This option can be set
|
|
|
|
|
or disabled in the new user settings, and edited within the user editor.
|
|
|
|
|
Two new prompts have been added to go along with this:
|
|
|
|
|
|
|
|
|
|
; new user: enter email address
|
|
|
|
|
439 |CR|09Enter e-mail address|CR:
|
|
|
|
|
; info edit: enter email address
|
|
|
|
|
440 |CR|09Enter E-mail address|CR:
|
|
|
|
|
|
|
|
|
|
An addition to the GE menu command has also been made. Optional data
|
|
|
|
|
22 now edits the E-mail address field.
|
|
|
|
|
|
|
|
|
|
New MCI code: UK has been added, which returns the users email address.
|
|
|
|
|
|
|
|
|
|
+ Added new user database field: User note. This option can be set or
|
|
|
|
|
disabled in the new user settings, and edited with the user editor.
|
|
|
|
|
Two new prompts have been added to go along with this:
|
|
|
|
|
|
|
|
|
|
; new user: enter user note
|
|
|
|
|
441 |CR|09Enter your desired user note|CR:
|
|
|
|
|
; info edit: enter user note
|
|
|
|
|
442 |CR|09Enter your desired user note|CR:
|
|
|
|
|
|
|
|
|
|
An addition to the GE menu command has also been made. Optional data
|
|
|
|
|
field 23 now edits the User Note field.
|
|
|
|
|
|
|
|
|
|
New MCI code: UI has been added, which returns the user note field.
|
|
|
|
|
|
|
|
|
|
+ Added three new optional/configurable questions into the user database.
|
|
|
|
|
They can be configured/enabled/disabled in New User Settings. Six new
|
|
|
|
|
prompts have been added:
|
|
|
|
|
|
|
|
|
|
; new user: option 1
|
|
|
|
|
443 |CR|09Enter optional field 1:
|
|
|
|
|
; info edit: option 1
|
|
|
|
|
444 |CR|09Enter optional field 1:
|
|
|
|
|
; new user: option 2
|
|
|
|
|
445 |CR|09Enter optional field 2:
|
|
|
|
|
; info edit: option 2
|
|
|
|
|
446 |CR|09Enter optional field 2:
|
|
|
|
|
; new user: option 3
|
|
|
|
|
447 |CR|09Enter optional field 3:
|
|
|
|
|
; info edit: option 3
|
|
|
|
|
448 |CR|09Enter optional field 3:
|
|
|
|
|
|
|
|
|
|
Optional data fields for menu command GE have been added to edit these
|
|
|
|
|
fields. These are 24, 25, and 26.
|
|
|
|
|
|
|
|
|
|
Three new MCI codes have been added. U1, U2, and U3. These return the
|
|
|
|
|
optional data 1, 2, and 3 fields.
|
|
|
|
|
|
|
|
|
|
+ The "Post on this base" question is no longer asked when a user aborts
|
|
|
|
|
reading messages.
|
|
|
|
|
|
|
|
|
|
+ Added the ability to disable the Lightbar Quote Window both on a SysOp
|
|
|
|
|
and a user basis. These have been added into the user editor and into
|
|
|
|
|
the new user settings. One changed prompt goes with this:
|
|
|
|
|
|
|
|
|
|
; New user: Use FSE quote window?
|
|
|
|
|
060 |CR|12Use full screen editor quote window?
|
|
|
|
|
|
|
|
|
|
Optional data field 27 has been added into the GE menu command to toggle
|
|
|
|
|
this option on a user basis.
|
|
|
|
|
|
|
|
|
|
New MCI code of UQ has been added, which returns "standard" or "lightbar"
|
|
|
|
|
for the quote mode, based on the user's setting.
|
|
|
|
|
|
|
|
|
|
+ Added the ability to start reading in the lightbar index mode in just
|
|
|
|
|
the e-mail base. This is also configurable on a Sysop and individual
|
|
|
|
|
user basis. One changed prompt goes along with this:
|
|
|
|
|
|
|
|
|
|
; Start at message index in email? (lightbar msg reader)
|
|
|
|
|
331 |CR|12Start at e-mail message index?
|
|
|
|
|
|
|
|
|
|
Optional data field 28 has been added into the GE menu command to toggle
|
|
|
|
|
this option on a user basis.
|
|
|
|
|
|
|
|
|
|
New MCI code UM returns ON/OFF based on this setting
|
|
|
|
|
|
|
|
|
|
! Mystic no longer asks users if they want to "Post a message here" when
|
|
|
|
|
viewing sent e-mail.
|
|
|
|
|
|
|
|
|
|
+ New MPE command: TextColor. This takes a text attribute number and
|
|
|
|
|
changes to that color.
|
|
|
|
|
|
|
|
|
|
+ New MPE function: TextAttr. This returns the current text attribute.
|
|
|
|
|
|
|
|
|
|
! MPE: Assigning a char variable to a string variable would cause a
|
|
|
|
|
variable type mismatch! IE: Str := Str + Ch
|
|
|
|
|
|
|
|
|
|
+ MPE: Support for CHAR variables as function results has been added. I
|
|
|
|
|
didn't even realized that they weren't supported! Hrrmmm,
|
|
|
|
|
Forgetful I am, yes...
|
|
|
|
|
|
|
|
|
|
+ Each network address now has a network name to go along with it, which
|
|
|
|
|
is defined in System Config -> Network Settings. There is also a new
|
|
|
|
|
MCI code that goes along with this: MN, which returns the network
|
|
|
|
|
name for the current message base. This can be used in the message base
|
|
|
|
|
scanning prompt or the message base list format prompt... or anywhere
|
|
|
|
|
else! =)
|
|
|
|
|
|
|
|
|
|
+ Added a footer to the "file base scan setting" list:
|
|
|
|
|
|
|
|
|
|
; file base scan setting footer
|
|
|
|
|
449
|
|
|
|
|
|
|
|
|
|
+ Default options for TSERVER can now be set in MCFG.EXE, under System
|
|
|
|
|
Configuration -> Telnet Options.
|
|
|
|
|
|
|
|
|
|
+ MPL: Added two new commands: GETFGROUP and PUTFGROUP. These are used
|
|
|
|
|
to read and write to the file group records, and work just like the
|
|
|
|
|
GETFBASE and PUTFBASE commands. Two new variables go along with this:
|
|
|
|
|
|
|
|
|
|
FGROUPNAME - Name of File Group
|
|
|
|
|
FGROUPACS - Access string of File Group
|
|
|
|
|
|
|
|
|
|
+ MPL: Added two new commands: GETMGROUP and PUTMGROUP. These are used
|
|
|
|
|
to read and write to the file group records, and work just like the
|
|
|
|
|
GETMBASE and PUTMBASE commands. Two new variables go along with this:
|
|
|
|
|
|
|
|
|
|
MGROUPNAME - Name of File Group
|
|
|
|
|
MGROUPACS - Access string of File Group
|
|
|
|
|
|
|
|
|
|
+ MPL: Added two new commands: GetTextStr and PutTextStr. These commands
|
|
|
|
|
will be used to read/write/edit messages and file descriptions as well
|
|
|
|
|
as being used to access the message and text editors within Mystic.
|
|
|
|
|
More on this stuff later! =)
|
|
|
|
|
|
|
|
|
|
+ Expanded the Prompt Info codes to 15 instead of ten. New Prompt Info
|
|
|
|
|
codes are &A through &E...
|
|
|
|
|
|
|
|
|
|
+ Added new prompt info codes for prompt #30:
|
|
|
|
|
|
|
|
|
|
&8 = Email address
|
|
|
|
|
&9 = User note
|
|
|
|
|
&0 = Optional field 1
|
|
|
|
|
&A = Optional field 2
|
|
|
|
|
&B = Optional field 3
|
|
|
|
|
|
|
|
|
|
+ Added new prompt info codes for prompt #142:
|
|
|
|
|
|
|
|
|
|
&9 = User note
|
|
|
|
|
&0 = Email
|
|
|
|
|
&A = Optional field 1
|
|
|
|
|
&B = Optional field 2
|
|
|
|
|
&C = Optional field 3
|
|
|
|
|
|
|
|
|
|
+ New menu command auto-exec type: AFTER. This works just like EVERY
|
|
|
|
|
except it is drawn AFTER the menu is displayed, directly before
|
|
|
|
|
the prompt. EVERY executes before the menu is drawn each time it is
|
|
|
|
|
drawn.
|
|
|
|
|
|
|
|
|
|
+ New menu option: "Input Type". This can be set to any of the following
|
|
|
|
|
values:
|
|
|
|
|
|
|
|
|
|
Long key : Forces the menu to use long key input
|
|
|
|
|
Hot key : Forces the menu to use hot key input
|
|
|
|
|
User setting : Uses whichever input mode the user has set
|
|
|
|
|
|
|
|
|
|
- Removed the Xmodem and Ymodem protocols. This is most likely a temporary
|
|
|
|
|
thing, but I doubt many will use them anyway. They're still kinda buggy
|
|
|
|
|
and I want to get 1.07 released as soon as I can.
|
|
|
|
|
|
|
|
|
|
Changed two prompts for this:
|
|
|
|
|
|
|
|
|
|
; Protocol select batch prompt
|
|
|
|
|
061 |CR|14Press [|15ENTER|14] to start Zmodem transfer, or [|15Q|14] to Quit:
|
|
|
|
|
; Protocol select standard prompt
|
|
|
|
|
062 |CR|14Press [|15ENTER|14] to start Zmodem transfer, or [|15Q|14] to Quit:
|
|
|
|
|
|
|
|
|
|
+ New menu command: VN. This will search for any new voting questions and
|
|
|
|
|
allow the user to vote on them.
|
|
|
|
|
|
|
|
|
|
! Mystic (Win32) wasn't setting the node number correctly in the Window
|
|
|
|
|
Title.
|
|
|
|
|
|
|
|
|
|
+ New prompt: Prompt #450 is now the TO: for a privately posted message
|
|
|
|
|
"TO:" field.
|
|
|
|
|
|
|
|
|
|
450 |CR|09To:
|
|
|
|
|
|
|
|
|
|
+ Added two new fields to the New User Settings in System Configuraton:
|
|
|
|
|
|
|
|
|
|
Start Message Group
|
|
|
|
|
Start File Group
|
|
|
|
|
|
|
|
|
|
This allows for the msg/file group that new users start off in to be
|
|
|
|
|
defined. In the past, Mystic would just put them in the first group
|
|
|
|
|
and first base they had access to. Setting these options to zero will
|
|
|
|
|
cause Mystic to act like it used to - putting the user into the first
|
|
|
|
|
group and base they have access to.
|
|
|
|
|
|
|
|
|
|
- Removed MENUEDIT.EXE from the distribution
|
|
|
|
|
|
|
|
|
|
- Removed LANGEDIT.EXE from the distribution
|
|
|
|
|
|
|
|
|
|
- Removed MCONFIG.EXE from the distribution
|
|
|
|
|
|
|
|
|
|
+ Added new program: MCFG.EXE. This program is going to be an all-in-one
|
|
|
|
|
configuration and management utility! All of the functions that existed
|
|
|
|
|
in MENUEDIT, LANGEDIT, and MCONFIG have already been added to this, as
|
|
|
|
|
well as a file base list manager and many other parts of the System
|
|
|
|
|
Configuration. This program is not 100% completed, but its a VERY nice
|
|
|
|
|
start! Many MANY enhancements into the menu editor, and language editor
|
|
|
|
|
as well as an overall clearer and more intuitive interface! Includes
|
|
|
|
|
native DOS, Win32, OS/2 and Linux versions!
|
|
|
|
|
|
|
|
|
|
+ Completely rewrote MIDE.EXE, the Mystic Programming Language IDE. This
|
|
|
|
|
new version offers these new features:
|
|
|
|
|
|
|
|
|
|
+ Improved interface
|
|
|
|
|
+ Allows up to 9 files to be edited at once
|
|
|
|
|
+ Configurable tab spacing stops
|
|
|
|
|
+ Ability to disable syntax highlighting
|
|
|
|
|
+ Enhanced text copy/cut/paste block functions
|
|
|
|
|
+ DOS, Win32, OS/2, and Linux native versions
|
|
|
|
|
+ Full online help system similar to Borland's IDE help systems.
|
|
|
|
|
Includes a full reference to the Mystic Programming Language
|
|
|
|
|
functions and procedures - along with examples of each of them!
|
|
|
|
|
|
|
|
|
|
+ Completely rewrote MPL.DOC (The Mystic BBS Programming Language Manual).
|
|
|
|
|
Its not 100% completed, but its more organized and complete than the
|
|
|
|
|
MPL.DOC which was distributed with version 1.06.
|
|
|
|
|
|
|
|
|
|
+ Cleaned up the way Mystic determines file/msg groups for new users and
|
|
|
|
|
existing users. It's very "intelligent" now...
|
|
|
|
|
|
|
|
|
|
+ Rewrote the installation program. The install looks much nicer than the
|
|
|
|
|
pervious install and no longer requires any type of external archive
|
|
|
|
|
utility to complete the installation.
|
|
|
|
|
|
|
|
|
|
+ MYSTIC BBS NOW HAS A NATIVE LINUX VERSION!
|
|
|
|
|
|
|
|
|
|
The linux version of Mystic BBS has been completed. Mystic/Linux is
|
|
|
|
|
a complete shell replacement, which means that it will work
|
|
|
|
|
effortlessly over dialup and telnet connections to your system! The
|
|
|
|
|
configuration is file case sensitive, but other than that all data
|
|
|
|
|
files are compatible with other native versions of Mystic (ie, DOS,
|
|
|
|
|
Windows, and OS/2).
|
|
|
|
|
|
|
|
|
|
Many changes had to be made to the Sysop end of Mystic to work around
|
|
|
|
|
various Linux issues. Running a BBS under Linux is an entirely
|
|
|
|
|
different experience, but i've tried to make the transistion as easy
|
|
|
|
|
as possible for everyone. Just be aware that the functionality of
|
|
|
|
|
Mystic/Linux is identical to all other versions, but the Sysop
|
|
|
|
|
operations will be different.
|
|
|
|
|
|
|
|
|
|
+ TSERVER (the Mystic BBS telnet server for Windows) has been cleaned up.
|
|
|
|
|
When a new connection is received, TSERVER will now spawn new Mystic
|
|
|
|
|
windows completely in the background without interrupting the current
|
|
|
|
|
process. In the past, TSERVER would always force Windows to return to
|
|
|
|
|
the desktop - so, for example, if you were in a full screen DOS session,
|
|
|
|
|
it would return your DOS session to a GUI window.
|
|
|
|
|
|
|
|
|
|
+ Mystic now has full support for long file names. It already has since
|
|
|
|
|
early 1.07 alphas, but apparently I forgot to reflect that in the whats
|
|
|
|
|
new file!
|
|
|
|
|
|
|
|
|
|
+ Mystic's internal user editor now sets users who are logged into other
|
|
|
|
|
nodes as "read only" when their account is being viewed. If their
|
|
|
|
|
account needs editing, you'll have to switch to their task and edit them
|
|
|
|
|
with the SysOp functions.
|
|
|
|
|
|
|
|
|
|
! Mystic wasn't saving user accouts in the user editor if the user logged
|
|
|
|
|
in was trying to edit their own account. For example, if "Joe SysOp"
|
|
|
|
|
was logged in, went to the user editor, and tried to edit his account -
|
|
|
|
|
it wouldn't save.
|
|
|
|
|
|
|
|
|
|
! When using the ALT-E sysop command (edit user account), Mystic was not
|
|
|
|
|
changing the users online time if a new "Time Left" was set.
|
|
|
|
|
|
|
|
|
|
+ New MPE command: EXIT. This function will immediately exit the current
|
|
|
|
|
procedure or function.
|
|
|
|
|
|
|
|
|
|
+ Two new options have been added to the new user settings: Start Msg
|
|
|
|
|
Group and Start File Group. In the past, Mystic would start a new user
|
|
|
|
|
in whatever the first group they had access to was. This can be used to
|
|
|
|
|
start a new user in a definied message and file group.
|
|
|
|
|
|
|
|
|
|
+ New option added to the message base options: The option to "Show Bases
|
|
|
|
|
in Group List" must now be set to Yes for Mystic to calculate the number
|
|
|
|
|
of areas in that group when the user is selecting a message group. If
|
|
|
|
|
this option is toggled off, Mystic will return a "0" for number of areas
|
|
|
|
|
in a group.
|
|
|
|
|
|
|
|
|
|
+ New option added to the file base options: Show Base in Group List.
|
|
|
|
|
This works just like the same option in the message base settings.
|
|
|
|
|
|
|
|
|
|
! Fixed a bug with user's time left getting set to 0 on certain occasions
|
|
|
|
|
during a login.
|
|
|
|
|
|
|
|
|
|
+ Mystic now disconnects the user after three login attempts. If they
|
|
|
|
|
don't select to create an account in those 3 attempts, Mystic boots them.
|
|
|
|
|
|
|
|
|
|
+ MPE: Added support for including source files into the main source of
|
|
|
|
|
an MPS file. This hasn't been tested very well and has caused a slight
|
|
|
|
|
decrease in compile speed, but its there and appears to work! =)
|
|
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
|
|
# Sample source file which includes common.mps
|
|
|
|
|
# --------------------------------------------
|
|
|
|
|
|
|
|
|
|
#include common.mps
|
|
|
|
|
|
|
|
|
|
Begin
|
|
|
|
|
WriteLn ('Any functions or procedures in common.mps can be called')
|
|
|
|
|
End
|
|
|
|
|
|
|
|
|
|
Note that the compilers will still compile a procedure or function into
|
|
|
|
|
the executable if they're not used in the program. So if you did make
|
|
|
|
|
an include of common functions and procedures that you use, they will
|
|
|
|
|
all be compiled. In the future i'd like to add a "smart linking"
|
|
|
|
|
feature which would remove all unused functions and variables.
|
|
|
|
|
|
|
|
|
|
+ Added new user flag: Ignore LC. When set to YES, this option will
|
|
|
|
|
not add the user into the last caller information.
|
|
|
|
|
|
|
|
|
|
+ Mystic will now not add the user to the last callers file if they log in
|
|
|
|
|
in Invisible mode.
|
|
|
|
|
|
|
|
|
|
! Fixed a problem within MBBSUTIL's user packer. Under certain situations,
|
|
|
|
|
MBBSUTIL was messing up the user's last read pointers and their base
|
|
|
|
|
scan settings. This has been fixed.
|
|
|
|
|
|
|
|
|
|
+ MPE: Added new var to USER record: UserEditType. This returns the user's
|
|
|
|
|
current editor setting.
|
|
|
|
|
|
|
|
|
|
+ The one liners function now redisplays the oneliners after a user adds
|
|
|
|
|
a new entry.
|
|
|
|
|
|
|
|
|
|
+ Separated the post subject prompt and the REPLY subject prompt in the
|
|
|
|
|
language file. New prompt added:
|
|
|
|
|
|
|
|
|
|
; reply msg SUBJ
|
|
|
|
|
451 |CR|09Subject:
|
|
|
|
|
|
|
|
|
|
+ Added a header prompt into the standard (non-quote-window) quote mode. A
|
|
|
|
|
new prompt has been added:
|
|
|
|
|
|
|
|
|
|
; standard quote header
|
|
|
|
|
452 |15Quote mode: Select a range of text to quote
|
|
|
|
|
|
|
|
|
|
+ Added a new option to the message and file area selection menu commands
|
|
|
|
|
(MA and FA). When "nolist" is supplied in the optional data field of
|
|
|
|
|
the menu command, Mystic will just show the prompt to select a message
|
|
|
|
|
base number unless, of course, the user enters "?" on that prompt, which
|
|
|
|
|
they would then get a listing of available bases.
|
|
|
|
|
|
|
|
|
|
+ Added new option to Mystic's graphics detection when a user connects.
|
|
|
|
|
An option of "Force ANSI" can be set in the general settings of the
|
|
|
|
|
system configuration as the detect type. This will force the user into
|
|
|
|
|
ANSI mode and not attempt to detect or ask for the graphics mode.
|
|
|
|
|
|
|
|
|
|
+ Added new prompt: 453. This is the footer for the listing of users in
|
|
|
|
|
teleconference.
|
|
|
|
|
|
|
|
|
|
; footer for teleconference user list
|
|
|
|
|
453 |CR|PA
|
|
|
|
|
|
|
|
|
|
+ Added an entirely new FULL SCREEN irc-like teleconference system! The
|
|
|
|
|
older system is still around for people who like it better or for users
|
|
|
|
|
who don't support ANSI graphics. This new system allows for the user to
|
|
|
|
|
have a permanent input line as well as a window where text will scroll,
|
|
|
|
|
maybe similar to a text-based mIRC client. Each user also has a 200
|
|
|
|
|
line scrollback buffer! Many changes and additions go along with this:
|
|
|
|
|
|
|
|
|
|
Changed prompts:
|
|
|
|
|
|
|
|
|
|
; nodechat user's text: &1 = user name
|
|
|
|
|
181 |07<|15&1|07> |03
|
|
|
|
|
|
|
|
|
|
; nodechat broadcast text: &1 = user name
|
|
|
|
|
319 |01<|09|&1 |11Broadcast|01> |03
|
|
|
|
|
|
|
|
|
|
; nodechat private text: &1 = user name
|
|
|
|
|
218 |04<|12|&1 |14Private|04> |03
|
|
|
|
|
|
|
|
|
|
; nodechat action text: &1 = user name
|
|
|
|
|
229 |13* |&1
|
|
|
|
|
|
|
|
|
|
; nodechat: info/status text
|
|
|
|
|
226 |12- |07
|
|
|
|
|
|
|
|
|
|
; new user: use full screen node chat?
|
|
|
|
|
187 |CR|12Use full screen node chat? |11
|
|
|
|
|
|
|
|
|
|
; Node chat scroll mode back
|
|
|
|
|
237 |15Scrollback: (Up/Down) Move (Ctrl-R) Page Up (Ctrl-C) Page Down (ESC) Quit
|
|
|
|
|
|
|
|
|
|
Also some new options in the new user settings, where the node chat can
|
|
|
|
|
be either forced on or off for new users, or the new user can be asked.
|
|
|
|
|
New additions for this field has also been added to the user editors as
|
|
|
|
|
well as an addition to the "GE" menu command with optional field data
|
|
|
|
|
of 29 to toggle the user's setting. The MCI code "CM" returns the
|
|
|
|
|
on/off status of the full screen chat function.
|
|
|
|
|
|
|
|
|
|
! Fixed a bug that existed when viewing text files. The pause prompt would
|
|
|
|
|
display on the last line of the page (overwriting the last line) rather
|
|
|
|
|
than moving down to the next line and displaying the pause.
|
|
|
|
|
|
|
|
|
|
+ When doing a new scan for personal messages, Mystic will now update the
|
|
|
|
|
last read pointers for each base. This wasn't a bug, I designed it to
|
|
|
|
|
not save the pointers, but I really don't know why I originally did it
|
|
|
|
|
that way. :p
|
|
|
|
|
|
|
|
|
|
+ Added a new menu command: MS. This command allows for easy message
|
|
|
|
|
searching in the current base, current group, or all groups/bases.
|
|
|
|
|
See MYSTIC.DOC for more information. Two changed prompts go along
|
|
|
|
|
with this new command:
|
|
|
|
|
|
|
|
|
|
; Message search: search text input
|
|
|
|
|
310 |CR|03Enter text to search for:
|
|
|
|
|
|
|
|
|
|
; Message search completed
|
|
|
|
|
311 |15Message search completed.
|
|
|
|
|
|
|
|
|
|
+ Two new additions to the MPL evaluation engine: In the past both function
|
|
|
|
|
calls and constant variables could not be evaluated in the second part of
|
|
|
|
|
a statement. I never noticed this before, but it has been completed now.
|
|
|
|
|
|
|
|
|
|
For example (in the 1.06 MPL engine):
|
|
|
|
|
|
|
|
|
|
OK: If Ord(' ') = 32 Then WriteLn('Hello') EndIf
|
|
|
|
|
BAD: If 32 = Ord(' ') Then WriteLn('Hello') EndIf
|
|
|
|
|
|
|
|
|
|
+ Added new option: System Config -> New User Settings -> Ask Screen Size.
|
|
|
|
|
If this option is set to Yes, Mystic will ask new users for their screen
|
|
|
|
|
size. If this option is set to No, Mystic will automaticly set the user's
|
|
|
|
|
screen length to the configured default screen length.
|
|
|
|
|
|
|
|
|
|
+ New MCI code: QL. This returns YES or NO based on the user's QWK setting
|
|
|
|
|
to include a new files list in each packet.
|
|
|
|
|
|
|
|
|
|
- Removed the "OC" menu command (Set QWK options) and added the options
|
|
|
|
|
individually into the GE menu command. See MYSTIC.DOC for more
|
|
|
|
|
information on the GE menu command.
|
|
|
|
|
|
|
|
|
|
- Removed prompt 228 that went along with the OC menu command.
|
|
|
|
|
|
|
|
|
|
+ Added a footer prompt to the batch queue listing. New prompt is #428
|
|
|
|
|
|
|
|
|
|
+ Expanded the modem initialization string from 40 characters to a max
|
|
|
|
|
of 80 characters
|
|
|
|
|
|
|
|
|
|
+ Added new prompt to the QWK packet creation: Prompt #228 now displays
|
|
|
|
|
if a packet is created with 0 messages, and the download is then aborted
|
|
|
|
|
|
|
|
|
|
; QWK DL: No messages
|
|
|
|
|
228 |CR|15No messages found.|CR|CR|PA
|
|
|
|
|
|
|
|
|
|
.-----------------------------------------------.
|
|
|
|
|
| Mystic BBS v1.07 RELEASED : December 26, 2000 |
|
|
|
|
|
`-----------------------------------------------'
|
|
|
|
|
|
|
|
|
|
! MCFG: The New User Settings 1 -> Language file setting was backwards.
|
|
|
|
|
It'd say "Ask" when it really should have said "Use default".
|
|
|
|
|
|
|
|
|
|
! MCFG: The option New User Settings 2 -> Ask Screen Size was missing from
|
|
|
|
|
the options but available from within Mystic's internal configuration.
|
|
|
|
|
|
|
|
|
|
! Fixed a bug in the QWK system that would cause certain messages in a
|
|
|
|
|
packet to get scrambled.
|
|
|
|
|
|
|
|
|
|
! The QWK system was creating .NDX files for bases that didn't have any
|
|
|
|
|
messages in them. This is fine for most QWK readers, but there are a few
|
|
|
|
|
that didn't like that. In addition, the .NDX files were not getting
|
|
|
|
|
created correctly under certain operating systems.
|
|
|
|
|
|
|
|
|
|
+ Mystic will now restore the screen on the user's side after sysop chat
|
|
|
|
|
modes.
|
|
|
|
|
|
|
|
|
|
+ Mystic was looking for FILE_ID.DIZ in the Linux version of Mystic. This
|
|
|
|
|
has been changed to look for file_id.diz instead.
|
|
|
|
|
|
|
|
|
|
! In line quote mode, Mystic would not allow you to quote a range of text
|
|
|
|
|
that wasn't already displayed.
|
|
|
|
|
|
|
|
|
|
! MIDE: When changing the file name during a "Save As", MIDE was not
|
|
|
|
|
renaming the window to the new file name.
|
|
|
|
|
|
|
|
|
|
+ Added new MPL function: PATHCHAR. This will allow for MPE programs to
|
|
|
|
|
be easily written to work on both Unix and DOS type file systems.
|
|
|
|
|
|
|
|
|
|
! The index files in Squish message bases were getting written incorrectly.
|
|
|
|
|
I think i've managed to nail this bug but I haven't had any substancial
|
|
|
|
|
testing done as none of my alpha sites run Squish message bases. :(
|
|
|
|
|
|
|
|
|
|
+ MCFG: Added (ALT+S) Sort into the status line of the file base editor.
|
|
|
|
|
Sorting was always available, but for some reason I never put it on
|
|
|
|
|
the status line. Even the help listing had ALT-S documented. =]
|
|
|
|
|
|
|
|
|
|
+ Changed the INSTALL program to use CTRL-S to start the installation,
|
|
|
|
|
instead of the F2 key that was used. Linux users were not able to
|
|
|
|
|
use F2 over an xterminal.
|
|
|
|
|
|
|
|
|
|
+ MPL: Added new procedure called GETSCREENINFO. This is used to read the
|
|
|
|
|
values of the Screen Info MCI codes. This will come in handy when
|
|
|
|
|
creating lightbar mods which use ANSI templates similar to the rest of
|
|
|
|
|
Mystic.
|
|
|
|
|
|
|
|
|
|
! Fixed a small memory leak in the DOS/WIN/OS2 versions caused when running
|
|
|
|
|
external programs (doors).
|
|
|
|
|
|
|
|
|
|
! Fixed the DOOR32 problems in Windows version. I had some code commented
|
|
|
|
|
out when I released 1.07. I forgot to 'put things back to normal' when
|
|
|
|
|
I was done testing some things before the release. =]
|
|
|
|
|
|
|
|
|
|
! Fixed the viewing of the BBS list in the Linux version. Just the case of
|
|
|
|
|
an error in file casing. Mystic was looking for a data file in all
|
|
|
|
|
uppercased letters when it should have been lowercased.
|
|
|
|
|
|
|
|
|
|
! Fixed the error with inserting a new menu in the Linux internal menu
|
|
|
|
|
editor.
|
|
|
|
|
|
|
|
|
|
! Fixed a small problem with displaying the time in twelve hour format.
|
|
|
|
|
It'd display 12:01am when it should have said been 12:01pm.
|
|
|
|
|
|
|
|
|
|
! The BI mci code (User's Birthdate) wasn't being displayed correctly.
|
|
|
|
|
|
|
|
|
|
.------------------------------------------------.
|
|
|
|
|
| Mystic BBS v1.07.2 RELEASED : January 20, 2000 |
|
|
|
|
|
`------------------------------------------------'
|
|
|
|
|
|
|
|
|
|
+ Added (Q)uit to prompt #361. Before if you selected to add to the BBS
|
|
|
|
|
list, you'd have to fill out the entire entry before you could save or
|
|
|
|
|
abort.
|
|
|
|
|
|
|
|
|
|
! Fixed a problem with the Linux MPE loader. If you tried to run a
|
|
|
|
|
script outside of the script directory, things wouldn't work. Mystic
|
|
|
|
|
was looking for a "\" instead of a "/".
|
|
|
|
|
|
|
|
|
|
+ MYSTPACK: Changed the file names of the temporary files created when
|
|
|
|
|
packing bases. Hopefully this will solve it crashing on some Linux
|
|
|
|
|
distributions.
|
|
|
|
|
|
|
|
|
|
! When Mystic prompted for an upload file name, a space could be entered
|
|
|
|
|
as a valid filename.
|
|
|
|
|
|
|
|
|
|
! MPL: When compiling a program, Numerical variables could be assigned to
|
|
|
|
|
a function which returned variables in the type of String. A mismatch
|
|
|
|
|
error should have occured.
|
|
|
|
|
|
|
|
|
|
! When the remote screen was redrawn after a sysop chat session, it would
|
|
|
|
|
redraw incorrectly on if the status bar was NOT in single line mode.
|
|
|
|
|
|
|
|
|
|
+ Mystic now creates QWK packet's CONTROL.DAT file in MSDOS format even
|
|
|
|
|
in Unix type file systems. This seems to be more compatible with all
|
|
|
|
|
types of QWK readers.
|
|
|
|
|
|
|
|
|
|
! MPL: When assigning certain numerical variable types, MIDE and MPLC would
|
|
|
|
|
report a variable type mismatch when it shouldn't have.
|
|
|
|
|
|
|
|
|
|
+ Optimized the idle sensitivity within Mystic's Windows version. This
|
|
|
|
|
should make keyboard input a little faster/more efficient.
|
|
|
|
|
|
|
|
|
|
+ Enhanced the method Mystic uses to determine if a line of message text
|
|
|
|
|
is quoted text. A few QWK readers would indent quoted text within the
|
|
|
|
|
message and Mystic wouldn't see it as quoted text.
|
|
|
|
|
|
|
|
|
|
! Fixed a bug in the file and message base selection listing. When the
|
|
|
|
|
base listing was aborted, Mystic would only let an area be selected if it
|
|
|
|
|
were already displayed in the list.
|
|
|
|
|
|
|
|
|
|
+ Mystic/Windows will now check to see if the window title was changed
|
|
|
|
|
after running a door, and restore it as "Mystic Node x" if it has been
|
|
|
|
|
changed.
|
|
|
|
|
|
|
|
|
|
! If the SysOp was in two line status bar mode and the node chat template
|
|
|
|
|
used line 23 as the input line, the teleconferance wouldn't work right.
|
|
|
|
|
Fixed.
|
|
|
|
|
|
|
|
|
|
+ Added new command into the message reading system. The (H) key will now
|
|
|
|
|
set the current message as the high water (last read) pointer. At the
|
|
|
|
|
moment it doesn't display anything telling you that it worked (when H is
|
|
|
|
|
pressed), but it does work. The reason for this is that I don't like to
|
|
|
|
|
add new prompts into minor builds. I'll add the new prompts for it in
|
|
|
|
|
the 1.08 release. Just thought i'd include it in this form because
|
|
|
|
|
there were a couple requests for this feature.
|
|
|
|
|
|
|
|
|
|
+ The ENTER key is now available in menus using longkey input.
|
|
|
|
|
|
|
|
|
|
! The Hotkey and Longkey settings were reversed in MCFG's menu editor.
|
|
|
|
|
|
|
|
|
|
! When using the lightbar file lister's previous page option, it'd skip
|
|
|
|
|
the second page (and ONLY the second page) and go directly from the
|
|
|
|
|
third page to the first page in the listing. Fixed.
|
|
|
|
|
|
|
|
|
|
+ The ESCAPE key in the full screen message editor will now bring up the
|
|
|
|
|
command prompt.
|
|
|
|
|
|
|
|
|
|
+ MCFG: There is now a command to delete a ghosted user from within the
|
|
|
|
|
node manager.
|
|
|
|
|
|
|
|
|
|
+ MCFG: Changed all the commands within MCFG to use CTRL keys instead of Fx
|
|
|
|
|
or ALT keys. It may take a little to get used to these changes, but it
|
|
|
|
|
allows for us to have MCFG work over terminals in Linux while keeping all
|
|
|
|
|
the function keys consistant in all versions of MCFG.
|
|
|
|
|
|
|
|
|
|
+ MCFG: The mouse cursor is no longer present in the Windows version.
|
|
|
|
|
|
|
|
|
|
+ MCFG: The window title is now set to "Mystic Configuration"
|
|
|
|
|
|
|
|
|
|
+ The Linux version of Mystic will now accept the D3 menu command. This
|
|
|
|
|
allows the Linux version to write a DOOR32.SYS drop file.
|
|
|
|
|
|
|
|
|
|
! MPL: Fixed a bug with the UserDeleted variable which could cause the
|
|
|
|
|
user's flags to get corrupted.
|
|
|
|
|
|
|
|
|
|
! The CHAIN.TXT drop file now outputs the user's age field and a zero for
|
|
|
|
|
the gold field. Apparently, having a blank and not a 0 for gold would
|
|
|
|
|
cause some doors to crash.
|
|
|
|
|
|
|
|
|
|
! Fixed some Squish related QWK bugs, which caused QWK packet corruption
|
|
|
|
|
on all Squish format message bases.
|
|
|
|
|
|
|
|
|
|
+ Added the (I)gnore message reading command into the lightbar message
|
|
|
|
|
index.
|
|
|
|
|
|
|
|
|
|
! Squish last read pointers were not stored in records based on a
|
|
|
|
|
0-based user index. This would cause problems with 3rd party SysOp
|
|
|
|
|
mail readers.
|
|
|
|
|
|
|
|
|
|
! Fixed a problem with the lightbar message reader in Squish mode. Mystic
|
|
|
|
|
was giving strange results when the previous message command was selected
|
|
|
|
|
on the last message of a base.
|
|
|
|
|
|
|
|
|
|
+ Mystic now adds the ^AMSGID and ^AREPLY fields to all outbound echomail
|
|
|
|
|
posts and replies.
|
|
|
|
|
|
|
|
|
|
+ Mystic will now filter any kludge lines from message text, quoting, and
|
|
|
|
|
message exporting. Kludges lines are any line of text in which the first
|
|
|
|
|
character is a ^A (smiley face)...
|
|
|
|
|
|
|
|
|
|
! Fixed small input bug in MCFG's language prompt editor.
|
|
|
|
|
|
|
|
|
|
! If a user was online at midnight, their time per day wasn't getting reset
|
|
|
|
|
correctly. Mystic will now reset their time left to whatever their
|
|
|
|
|
daily limit is for their security level.
|
|
|
|
|
|
|
|
|
|
+ Added a new door command line MCI code: %U will now be replaced with
|
|
|
|
|
the user's alias.
|
|
|
|
|
|
|
|
|
|
+ MCFG: Added the General Settings into the System Configuration menu.
|
|
|
|
|
|
|
|
|
|
+ MCFG: Added the Global Message Base Editing feature into the Message
|
|
|
|
|
Base Editor. This is a very handy utility.
|
|
|
|
|
|
|
|
|
|
+ The online file listing editor will now allow renaming files based on
|
|
|
|
|
file casing, for operating systems that support it.
|
|
|
|
|
|
|
|
|
|
! Fixed a small bug in the lightbar file lister's next page option which
|
|
|
|
|
would sometimes report the end of the listing without displaying the
|
|
|
|
|
last file in the listing.
|
|
|
|
|
|
|
|
|
|
+ MIDE will now save its configuration file in the same path that the
|
|
|
|
|
actual MIDE.EXE file exists. This allows for MIDE to be placed in a
|
|
|
|
|
directory on the PATH and will prevent it from making a new .cfg file
|
|
|
|
|
in each directory MIDE is used.
|
|
|
|
|
|
|
|
|
|
+ MIDE will now also look for it's help file (mide.hlp) in the actual
|
|
|
|
|
path where MIDE.EXE exists.
|
|
|
|
|
|
|
|
|
|
! Finally got around to nailing one of the two word wrapping bugs in the
|
|
|
|
|
Full screen editor. This one would cause the BBS to lock up under
|
|
|
|
|
certain rare situations.
|
|
|
|
|
|
|
|
|
|
+ Removed the hard coded clear screen from the standard quote mode. You
|
|
|
|
|
will have to update prompt #452 with a |CL mci code in the beginning
|
|
|
|
|
of the prompt for it to work the same as it did in the past...
|
|
|
|
|
|
|
|
|
|
+ MPE programs can now be executed from one of the sysop macros. Any
|
|
|
|
|
macro which begins with a ! character will execute an MPL program. The
|
|
|
|
|
format is !<mpepath><mpename>. If <mpepath> is omitted, Mystic will
|
|
|
|
|
look in the SCRIPTS directory as defined in System Paths.
|
|
|
|
|
|
|
|
|
|
! When an MPL program resided in the scripts path, the ParamStr(0) function
|
|
|
|
|
would only return the file name of the MPL program and not the full
|
|
|
|
|
path and file name as it should have.
|
|
|
|
|
|
|
|
|
|
+ Added the OS/2 native version of Mystic back into the distribution. It
|
|
|
|
|
hasn't had much testing, but hopefully it will do us well. If you find
|
|
|
|
|
any problems with it, let me know and I'll try to fix it. Keep in mind
|
|
|
|
|
that I no longer have an OS/2 development machine here so I will need
|
|
|
|
|
a hand testing things.
|
|
|
|
|
|
|
|
|
|
.----------------------------------------------.
|
|
|
|
|
| Mystic BBS v1.07.3 RELEASED : May 13th, 2000 |
|
|
|
|
|
`----------------------------------------------'
|
|
|
|
|
|
|
|
|
|
+ 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<31>|15Yes|09<30>|16 |14N|11o |16
|
|
|
|
|
; Lightbar Y/N: NO text
|
|
|
|
|
317 |14 Y|11es |09|17<31>|15No|09<30>|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<data>
|
|
|
|
|
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.
|
|
|
|
|
<data> 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<socket descriptor>
|
|
|
|
|
-CID<comm handle>
|
|
|
|
|
|
|
|
|
|
! 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 v1.08 RELEASED : 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: <TextFile>;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=<textfile>
|
|
|
|
|
|
|
|
|
|
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 v1.09 RELEASED : October 17, 2011 |
|
|
|
|
|
`------------------------------------------------'
|
|
|
|
|
|
|
|
|
|
! Mystic was not exiting with errorlevel 255 when quitting from the WFC
|
|
|
|
|
screen as it did in previous versions.
|
|
|
|
|
|
|
|
|
|
+ Added an "Active" and "OSType" to the archive configuration. You will
|
|
|
|
|
want to verify that these are set correctly for your OS when upgrading.
|
|
|
|
|
|
|
|
|
|
+ Added an "Active" and "OSType" to protocol configuration. You will want
|
|
|
|
|
to verify that these are set correctly for your OS when upgrading.
|
|
|
|
|
|
|
|
|
|
+ Added Protocol configuration to MCFG
|
|
|
|
|
|
|
|
|
|
+ Added Archive configuration to MCFG
|
|
|
|
|
|
|
|
|
|
! The internal editors for message and file groups were not correctly
|
|
|
|
|
displaying the group name during the group listing.
|
|
|
|
|
|
|
|
|
|
+ Pressing enter (entering nothing) during toggle of file and message
|
|
|
|
|
base newscan settings will now exit instead of redisplaying the prompt
|
|
|
|
|
again.
|
|
|
|
|
|
|
|
|
|
+ Did some minor optimization of the ANSI codes which Mystic generated
|
|
|
|
|
when using pipe codes.
|
|
|
|
|
|
|
|
|
|
! Mystic wasn't correctly determining the free space on the disk when
|
|
|
|
|
attempting to copy from a slow media device. This was only happening
|
|
|
|
|
on Linux/OSX.
|
|
|
|
|
|
|
|
|
|
! The right arrow key was not working as PAGEDOWN in the fs editor quote
|
|
|
|
|
window.
|
|
|
|
|
|
|
|
|
|
+ The HOME and END keys now work in the full screen editor quote window.
|
|
|
|
|
|
|
|
|
|
+ File and message groups can now be flagged as "Hidden" which means they
|
|
|
|
|
will not show in the group listings.
|
|
|
|
|
|
|
|
|
|
! Fixed a bug with the HOME and END keys in the lightbar message reader
|
|
|
|
|
which could cause a lock up.
|
|
|
|
|
|
|
|
|
|
! Fixed a bug when drawing percentage bars in the various places where it
|
|
|
|
|
was possible for a divide by zero crash.
|
|
|
|
|
|
|
|
|
|
! When using the -X command line, Mystic was going to the local WFC screen
|
|
|
|
|
if local mode was specified. The -X command line now forces an immediate
|
|
|
|
|
local login as it was intended. This only happened in Windows.
|
|
|
|
|
|
|
|
|
|
+ Fixed RAR internal archive viewing. It broke when we switched compilers.
|
|
|
|
|
Apparently it is still broken if there are comments embedded in the .RAR
|
|
|
|
|
file. Hopefully I will get this cleared up soon too.
|
|
|
|
|
|
|
|
|
|
+ MPL has been completely overhauled and now follows very closely to real
|
|
|
|
|
Pascal syntax. This will require lots of syntax changes, but the good
|
|
|
|
|
news is that the syntax will likely not change again, since we are
|
|
|
|
|
standardizing it. Most changes are in the following areas:
|
|
|
|
|
|
|
|
|
|
- Pend, Wend, Fend all must be changed to END
|
|
|
|
|
- If statements now require a THEN and also a BEGIN/END if it has more
|
|
|
|
|
than one statement. EndIf is now just an End (if required), and
|
|
|
|
|
ElseIf is now two separate statements (Else If)
|
|
|
|
|
|
|
|
|
|
OLD:
|
|
|
|
|
If Ch = 'A'
|
|
|
|
|
ElseIf Ch = 'B'
|
|
|
|
|
EndIf
|
|
|
|
|
|
|
|
|
|
NEW:
|
|
|
|
|
If Ch = 'A' Then
|
|
|
|
|
WriteLn('A');
|
|
|
|
|
Else
|
|
|
|
|
If Ch = 'B' Then
|
|
|
|
|
WriteLn('B');
|
|
|
|
|
Else
|
|
|
|
|
If Ch = 'C' Then Begin
|
|
|
|
|
WriteLn('C');
|
|
|
|
|
WriteLn('Needs a begin and end because there are two statements');
|
|
|
|
|
End;
|
|
|
|
|
|
|
|
|
|
- Variable declartions follow Pascal rules, so:
|
|
|
|
|
|
|
|
|
|
OLD: Var ch char array(1..20)
|
|
|
|
|
NEW: Var ch : Array[1..20] of Char;
|
|
|
|
|
NEW: Var B1, B2, B3 : Byte;
|
|
|
|
|
|
|
|
|
|
- Array elements are now specified with [ and ] instead of ( and )
|
|
|
|
|
|
|
|
|
|
- For and While statements now require "Do" and if there are more than
|
|
|
|
|
one statement in the looped section, it must have open and close
|
|
|
|
|
blocks (ie Begin End). Fend and Wend are changed to "End" now or
|
|
|
|
|
removed depending on if there is more than one statement.
|
|
|
|
|
|
|
|
|
|
OLD:
|
|
|
|
|
For A := 1 to 10
|
|
|
|
|
WriteLn('Hello');
|
|
|
|
|
Fend
|
|
|
|
|
|
|
|
|
|
NEW:
|
|
|
|
|
For A := 1 to 10 Do
|
|
|
|
|
WriteLn('Hello');
|
|
|
|
|
|
|
|
|
|
For A := 1 to 10 Do Begin
|
|
|
|
|
WriteLn('This code');
|
|
|
|
|
WriteLn('Has more than one statement so it needs Begin/End');
|
|
|
|
|
End;
|
|
|
|
|
|
|
|
|
|
- "#" style comments are not supported. Instead most standard language
|
|
|
|
|
comments are supported... //, /* */ and (* *) comments are used.
|
|
|
|
|
|
|
|
|
|
- Include files have been changed to {$include Myfile.mps} since # is
|
2012-03-02 17:28:22 -08:00
|
|
|
|
not a part of MPL comment/directive system anymore.
|
2012-02-13 15:21:07 -08:00
|
|
|
|
|
|
|
|
|
+ New MIDE replaces old MIDE. This version does not yet have syntax
|
|
|
|
|
highlighting, but has a nicer pulldown menu interface. Syntax highlighting
|
|
|
|
|
may or may not be implemented in the future. This updated MPL has multiple
|
|
|
|
|
syntax and block comments which makes it a much larger effort to support.
|
|
|
|
|
|
|
|
|
|
The good news is, MPL (at least the Pascal syntax) is consistant with real
|
|
|
|
|
Pascal compilers, so those editors will properly syntax highlight now!
|
|
|
|
|
|
|
|
|
|
+ New MPLC replaces old MPLC.
|
|
|
|
|
|
|
|
|
|
+ The "OneKey" function now has a boolean arguement which if true causes
|
|
|
|
|
Mystic to echo the character to the user. So:
|
|
|
|
|
|
|
|
|
|
Ch := OneKey('ABCDEFG', True);
|
|
|
|
|
|
|
|
|
|
Would be the same as the old:
|
|
|
|
|
|
|
|
|
|
Ch := OneKey('ABCDEFG');
|
|
|
|
|
|
|
|
|
|
Supplying FALSE it will not echo, which increases its usability.
|
|
|
|
|
|
|
|
|
|
- Removed fOpen, fReadRec and fWriteRec functions.
|
|
|
|
|
|
|
|
|
|
+ Added new File type variable along with fAssign/fReset/fReWrite
|
|
|
|
|
functions which work closer to how Pascal would work. It also makes
|
|
|
|
|
managing files all together much easier and includes the ability to
|
|
|
|
|
specify a "filemode" which in the example below 66 means "Read/Write"
|
|
|
|
|
and "Deny None" access to a file. This would be the most commonly
|
|
|
|
|
used filemode.
|
|
|
|
|
|
|
|
|
|
OLD:
|
|
|
|
|
fOpen (1, Text, Reset, 'myfile.txt');
|
|
|
|
|
NEW:
|
|
|
|
|
Var MyFile : File;
|
|
|
|
|
|
|
|
|
|
fAssign (MyFile, 'myfile.txt' 66);
|
|
|
|
|
fReset (MyFile);
|
|
|
|
|
|
|
|
|
|
FReadRec and FWriteRec can be replaced with FRead/FWrite. There are a few
|
|
|
|
|
considerations. Previously they were designed to work with Pascal records
|
|
|
|
|
now that limitation is removed, but a slight change is needed. Strings
|
|
|
|
|
need to have one more added to their size when you FREAD/FWRITE, and other
|
|
|
|
|
variable types used to not require a size, which they do now.
|
|
|
|
|
|
|
|
|
|
OLD READING OF BBSLIST RECORD:
|
|
|
|
|
|
|
|
|
|
fReadRec (1, bbs_cType)
|
|
|
|
|
fReadRec (1, bbs_Phone, 15)
|
|
|
|
|
fReadRec (1, bbs_Telnet, 40)
|
|
|
|
|
fReadRec (1, bbs_Name, 30)
|
|
|
|
|
fReadRec (1, bbs_Location, 25)
|
|
|
|
|
fReadRec (1, bbs_Sysop, 30)
|
|
|
|
|
fReadRec (1, bbs_Baud, 6)
|
|
|
|
|
fReadRec (1, bbs_Software, 10)
|
|
|
|
|
fReadRec (1, bbs_Deleted)
|
|
|
|
|
fReadRec (1, bbs_AddedBy, 30)
|
|
|
|
|
fReadRec (1, bbs_Verified)
|
|
|
|
|
fReadRec (1, bbs_Extra1)
|
|
|
|
|
fReadRec (1, bbs_Extra2)
|
|
|
|
|
|
|
|
|
|
NEW READING OF BBSLIST RECORD:
|
|
|
|
|
|
|
|
|
|
fRead (ListFile, bbs_cType, 1)
|
|
|
|
|
fRead (ListFile, bbs_Phone, 16)
|
|
|
|
|
fRead (ListFile, bbs_Telnet, 41)
|
|
|
|
|
fRead (ListFile, bbs_Name, 31)
|
|
|
|
|
fRead (ListFile, bbs_Location, 26)
|
|
|
|
|
fRead (ListFile, bbs_Sysop, 31)
|
|
|
|
|
fRead (ListFile, bbs_Baud, 7)
|
|
|
|
|
fRead (ListFile, bbs_Software, 11)
|
|
|
|
|
fRead (ListFile, bbs_Deleted, 1)
|
|
|
|
|
fRead (ListFile, bbs_AddedBy, 31)
|
|
|
|
|
fRead (ListFile, bbs_Verified, 4)
|
|
|
|
|
fRead (ListFile, bbs_Extra1, 4)
|
|
|
|
|
fRead (ListFile, bbs_Extra2, 2)
|
|
|
|
|
|
|
|
|
|
Note the strings have one added to their size, and other variable types
|
|
|
|
|
now also include their size:
|
|
|
|
|
|
|
|
|
|
Byte, Char = 1 byte
|
|
|
|
|
Integer, Word = 2 bytes
|
|
|
|
|
LongInt = 4 bytes
|
|
|
|
|
Strings = String size + 1
|
|
|
|
|
|
|
|
|
|
+ MPL now does not trap File IO errors and stop execution of the MPL
|
|
|
|
|
program. Instead, the result of the last call is now stored in the
|
|
|
|
|
"IoResult" variable. Ex:
|
|
|
|
|
|
|
|
|
|
fAssign (MyFile, 'myfile.txt' 66);
|
|
|
|
|
fReset (MyFile);
|
|
|
|
|
|
|
|
|
|
If IoResult <> 0 Then
|
|
|
|
|
WriteLn('Unable to open file!');
|
|
|
|
|
|
|
|
|
|
+ MPL now supports negative numbers.
|
|
|
|
|
|
|
|
|
|
+ MPL now supports the "Real" variable type which allows floating point
|
|
|
|
|
calculations.
|
|
|
|
|
|
|
|
|
|
+ MPL now supports proper order of operations (PEMDAS) during mathmatical
|
|
|
|
|
equations. It also now supports the ability to use paranthesis to
|
|
|
|
|
override order.
|
|
|
|
|
|
|
|
|
|
+ The "MOD" operator has been changed to a % character. So:
|
|
|
|
|
|
|
|
|
|
OLD: A := 10 MOD 8
|
|
|
|
|
NEW: A := 10 % 8;
|
|
|
|
|
|
|
|
|
|
+ MPL now supports a POWER operator in mathmatical equations:
|
|
|
|
|
|
|
|
|
|
A := 2 ^ 3;
|
|
|
|
|
|
|
|
|
|
+ Support for line comments that begin with a # character has been removed
|
|
|
|
|
and replaced with a more standard // comment.
|
|
|
|
|
|
|
|
|
|
OLD: # My comment here
|
|
|
|
|
NEW: // My comment here
|
|
|
|
|
|
|
|
|
|
+ MPL now supports block comments (* and *) similar to Pascal:
|
|
|
|
|
|
|
|
|
|
(*
|
|
|
|
|
This is a comment
|
|
|
|
|
So is this
|
|
|
|
|
*)
|
|
|
|
|
|
|
|
|
|
+ Strings can now be defined with an actual string length. Supplying no
|
|
|
|
|
string length defaults to the maximum of 255 characters.
|
|
|
|
|
|
|
|
|
|
Ex: Var MyString : String[10];
|
|
|
|
|
|
|
|
|
|
- Removed the GetCFG MPL command. The configuration variables now point
|
|
|
|
|
directory to the configuration record stored in Mystic's memory, so this
|
|
|
|
|
function is no longer needed - the variables are already populated.
|
|
|
|
|
|
|
|
|
|
+ MPL now allows variables to be declared in local blocks (ie anywhere) and
|
|
|
|
|
can default them to a value. IE:
|
|
|
|
|
|
|
|
|
|
Var Ch : Char = 'A';
|
|
|
|
|
|
|
|
|
|
+ MPL now allows functions and procedures to defined inside of other
|
|
|
|
|
functions and procedures.
|
|
|
|
|
|
|
|
|
|
+ MPL now allows procedures to be called recursively.
|
|
|
|
|
|
|
|
|
|
+ MPL now supports GOTO labels
|
|
|
|
|
|
|
|
|
|
+ Added new MPL variables for groups: FGROUPHIDDEN MGROUPHIDDEN
|
|
|
|
|
|
|
|
|
|
+ Added new DIRATTR attribute used with FindFirst/FindNext/FindClose in
|
|
|
|
|
MPL.
|
|
|
|
|
|
|
|
|
|
+ Increased the maximum number of MPL variables from 500 to 2500
|
|
|
|
|
|
|
|
|
|
+ MPL now allows multi-dimensional arrays up to 3 levels deep:
|
|
|
|
|
|
|
|
|
|
Var MyArray : Array[1..10, 1..10, 1..10] of String[30];
|
|
|
|
|
|
|
|
|
|
+ MPL now allows a second type of Syntax which is closer to C but modeled
|
|
|
|
|
after Iniquity's programming language. This can be changed on the fly
|
|
|
|
|
in your code using a compiler directive. See MPLTEST.MPS now included
|
|
|
|
|
with the Mystic distribution for an example.
|
|
|
|
|
|
|
|
|
|
+ MPL now allows the memory location of a variable to be passed to
|
|
|
|
|
functions and procedures using the VAR keyword. It works the same
|
|
|
|
|
syntax as Pascal:
|
|
|
|
|
|
|
|
|
|
Procedure myProc (Var Str: String)
|
|
|
|
|
|
|
|
|
|
+ MPL now handles variable memory differently, as well as does more file
|
|
|
|
|
seeks vs sequential reads to move around the compiled MPL program. In
|
|
|
|
|
some test cases this has increased execution speed by up to 400%, but
|
|
|
|
|
this gain is not consistant. I hope in general it will be an increase.
|
|
|
|
|
|
|
|
|
|
+ MPL now supports CASE statements. This has actually been expanded on
|
|
|
|
|
from the Pascal standard but still follows the same syntax. It has been
|
|
|
|
|
expanded to allow CASE of more variable types, such as strings. See
|
|
|
|
|
the included MPLTEST.MPS for examples.
|
|
|
|
|
|
|
|
|
|
+ Addressing an array element now uses the [ and ] characters instead of
|
|
|
|
|
the ( and ) characters similar to real Pascal.
|
|
|
|
|
|
|
|
|
|
+ MPL now allows characters to be referenced by their ascii number.
|
|
|
|
|
|
|
|
|
|
Ex: If Ch = #32 Then WriteLn('Ch was a space key!');
|
|
|
|
|
|
|
|
|
|
+ MPL strings can now be accessed (in most places) as if they are an array
|
|
|
|
|
of characters, as Pascal allows:
|
|
|
|
|
|
|
|
|
|
Var S : String;
|
|
|
|
|
|
|
|
|
|
S := 'Hello';
|
|
|
|
|
|
|
|
|
|
If S[1] = 'H' Then WriteLn('First letter is H!');
|
|
|
|
|
|
|
|
|
|
+ MPL programs no longer require a "USES DIR" when doing directory stuff.
|
|
|
|
|
|
|
|
|
|
+ Renamed MPL function "fExist" to "FileExist"
|
|
|
|
|
|
|
|
|
|
+ Renamed MPL function fErase to FileErase. The reason I am renaming them
|
|
|
|
|
is because the "f" prefix implies a File IO function, and these are not
|
|
|
|
|
functions that deal with a "File" type variable.
|
|
|
|
|
|
|
|
|
|
+ Renamed MPL user variables USERLAST and USERFIRST to UserLastOn and
|
|
|
|
|
UserFirstOn. LAST and FIRST didnt really make sense.
|
|
|
|
|
|
|
|
|
|
+ MPL now allows functions to be called without a variable being assigned.
|
|
|
|
|
Ex: Function ReadKey normally returns a character, but it can be used
|
|
|
|
|
without one now simply but calling "ReadKey" by itself. This opens up
|
|
|
|
|
a lot of flexibility in the way MPL functions and procedures can work.
|
|
|
|
|
|
|
|
|
|
Ex:
|
|
|
|
|
Write ('Press a key: ');
|
|
|
|
|
ReadKey;
|
|
|
|
|
|
|
|
|
|
- Removed the "IsNoFile" function in MPL due to above change and because
|
|
|
|
|
of below change:
|
|
|
|
|
|
|
|
|
|
+ The DispFile function now optionally returns TRUE or FALSE depending on
|
|
|
|
|
if the file actually displayed. Keep in mind "IsNoFile" was TRUE if the
|
|
|
|
|
file was missing, while this is TRUE if it displayed a file.
|
|
|
|
|
|
|
|
|
|
+ Renamed the file extension of compiled MPL programs to .MPX. This was
|
|
|
|
|
because many operating systems think a MPE file is a video file, and also
|
|
|
|
|
to signify the giant changes in MPL with this version. You can delete
|
|
|
|
|
*.MPE from your scripts directory.
|
|
|
|
|
|
|
|
|
|
+ Renamed the "CLS" MPL function to ClrScr to match Pascal's CRT function.
|
|
|
|
|
|
|
|
|
|
+ Renamed the "fCopy" MPL function to "FileCopy" since the "f" implies a
|
|
|
|
|
file-type variable function.
|
|
|
|
|
|
|
|
|
|
+ Changed "FB" variables to "FBASE". These are the variables that go along
|
|
|
|
|
with USES FBASE. The prefix should match, as it does with the MBASE
|
|
|
|
|
variables. So Ex: FBNAME is now FBASENAME
|
|
|
|
|
|
|
|
|
|
+ Updated BBSLIST.MPS for 1.10 and fixed some potential issues which would
|
|
|
|
|
happen under Unix platforms.
|
|
|
|
|
|
|
|
|
|
+ The FindFirst/FindNext functions due to compiler/OS changes do not quite
|
|
|
|
|
work the same as they once did in DOS. You should assume that you will
|
|
|
|
|
get directories and files and use "DirExists" to determine the difference
|
|
|
|
|
until a better system is in place. Optionally you can check the DIRATTR
|
|
|
|
|
bit set to determine a directory vs a file.
|
|
|
|
|
|
|
|
|
|
+ MPL now supports /* and */ style block comments!
|
|
|
|
|
|
|
|
|
|
/*
|
|
|
|
|
This is a comment block!
|
|
|
|
|
*/
|
|
|
|
|
|
|
|
|
|
+ New ACS code OM returns true if the user has Sysop access to the current
|
|
|
|
|
message base OR is the owner of the current message (if reading messages).
|
|
|
|
|
|
|
|
|
|
! When moving a message, Mystic could crash after listing the message bases.
|
|
|
|
|
If you did not list the message bases, it would work fine.
|
|
|
|
|
|
|
|
|
|
! Mystic was not properly redrawing the screen after moving a message in the
|
|
|
|
|
lightbar message reader.
|
|
|
|
|
|
|
|
|
|
+ New MCI code MT returns the total messages in the current message base.
|
|
|
|
|
|
|
|
|
|
+ New MPL variable AllowArrow (boolean) is used to turn on arrow key
|
|
|
|
|
processing in the readkey function. This is also used outside of MPL so
|
|
|
|
|
change it with caution.
|
|
|
|
|
|
|
|
|
|
+ New MPL variable IgnoreGroups (boolean) is used to cause all group ACS
|
|
|
|
|
evaluations to return true even if they are not in the group. This is
|
|
|
|
|
also used outside of MPL so change it with caution.
|
|
|
|
|
|
|
|
|
|
+ New MPL variable pausepos (byte) gives access to Mystic's internal line
|
|
|
|
|
counter used for screen pauses.
|
|
|
|
|
|
|
|
|
|
+ New MPL variable allowmci (boolean) toggles on/off MCI code parsing. This
|
|
|
|
|
is used outside of MPL so adjust this with caution.
|
|
|
|
|
|
|
|
|
|
+ New MPL function WordCount returns the number of words in a string using
|
|
|
|
|
the final parameter to define the character that determines what separates
|
|
|
|
|
words. Ex:
|
|
|
|
|
|
|
|
|
|
Str := 'Hello this is a test';
|
|
|
|
|
|
|
|
|
|
WriteLn ('Str has ' + Int2Str(WordCount(Str, ' ')) + ' words in it.');
|
|
|
|
|
|
|
|
|
|
+ New MPL function WordGet returns the actual word at a specific word count.
|
|
|
|
|
Ex:
|
|
|
|
|
|
|
|
|
|
Str := 'Hello this is a test';
|
|
|
|
|
|
|
|
|
|
WriteLn('The second word was: ' + WordGet(2, Str, ' '));
|
|
|
|
|
|
|
|
|
|
+ New MPL function WordPos returns the character position in the string where
|
|
|
|
|
s specific word is located. Ex:
|
|
|
|
|
|
|
|
|
|
Str := 'Hello this is a test';
|
|
|
|
|
|
|
|
|
|
WriteLn ('Second word is at: ' + Int2Str(WordPos(2, Str, ' ')));
|
|
|
|
|
|
|
|
|
|
+ New MPL function DayOfWeek returns a number between 0-6 depending on the
|
|
|
|
|
day of the week:
|
|
|
|
|
|
|
|
|
|
0 = Sun, 1 = Mon, 2 = Tue, 3 = Wed, 4 = Thu, 5 = Fri, 6 = Sat
|
|
|
|
|
|
|
|
|
|
+ New MPL function DateJulian returns the longint Julian value of the current
|
|
|
|
|
date.
|
|
|
|
|
|
|
|
|
|
+ New MPL function DaysAgo function takes a Julian date value and returns
|
|
|
|
|
the number of days between the current date and the passed date.
|
|
|
|
|
|
|
|
|
|
+ New MPL function DateStrJulian works just like DateStr but accepts a
|
|
|
|
|
Julian date.
|
|
|
|
|
|
|
|
|
|
+ DateStr no longer accepts 0 as the users current date format. Pass the
|
|
|
|
|
user's actual date format to it if you want that. For example:
|
|
|
|
|
|
|
|
|
|
Str := DateStr(MyDateTime, UserDateType);
|
|
|
|
|
|
|
|
|
|
The other parameters (ie 1 = MM/DD/YY) work as they used to.
|
|
|
|
|
|
|
|
|
|
+ New MPL variable ProgName returns the path and filename of the current
|
|
|
|
|
MPL program.
|
|
|
|
|
|
|
|
|
|
+ New MPL variable ProgParams returns any of the parameters passed to the
|
|
|
|
|
MPL program as a single string.
|
|
|
|
|
|
|
|
|
|
+ New MPL function JustPath takes a string arguement and returns only the
|
|
|
|
|
path (including the trailing backslash). Ex:
|
|
|
|
|
|
|
|
|
|
WriteLn ('This MPX is located in ' + JustPath(ProgName));
|
|
|
|
|
|
|
|
|
|
+ New MPL function JustFile takes a string arguement and returns only the
|
|
|
|
|
filename:
|
|
|
|
|
|
|
|
|
|
WriteLn ('This MPX filename is: ' + JustFile(ProgName));
|
|
|
|
|
|
|
|
|
|
+ New MPL function JustFileName takes a string arguement and returns only
|
|
|
|
|
the base filename (ie, not the extension so it basically just removes
|
|
|
|
|
a file extension). This does not remove a path, JustFile does that.
|
|
|
|
|
|
|
|
|
|
+ New MPL funtion JustFileExt takes a string arguement and returns only the
|
|
|
|
|
file extension.
|
|
|
|
|
|
|
|
|
|
+ New MPL function ReadEnv returns the value of an environment variable of
|
|
|
|
|
the operating system.
|
|
|
|
|
|
|
|
|
|
+ New MPL function DirExist returns true or false if a directory exists.
|
|
|
|
|
|
|
|
|
|
+ New MPL function Replace replaces all occurances of a supplied text and
|
|
|
|
|
returns a string. Ex:
|
|
|
|
|
|
|
|
|
|
Var Str : String = 'Hello Hello Hello';
|
|
|
|
|
|
|
|
|
|
Str := Replace(Str, 'Hello', 'World'); // Str is now World World World
|
|
|
|
|
|
|
|
|
|
+ New MPL function strWrap takes two strings and wraps them after the word
|
|
|
|
|
closest to the maximum supplied length. It optionally returns the actual
|
|
|
|
|
position where it wrapped.
|
|
|
|
|
|
|
|
|
|
Var Str : String = 'This will wrap';
|
|
|
|
|
Var Str2 : String = '';
|
|
|
|
|
Var Where : Byte;
|
|
|
|
|
|
|
|
|
|
Where := strWrap(Str, Str2, 10);
|
|
|
|
|
|
|
|
|
|
WriteLn ('It wrapped at ' + Int2Str(Where));
|
|
|
|
|
WriteLn ('First string: ' + Str);
|
|
|
|
|
WriteLn ('Second string: ' + Str2);
|
|
|
|
|
|
|
|
|
|
+ New MPL function strComma accepts a longint and returns it as a string,
|
|
|
|
|
with commas added where applicable:
|
|
|
|
|
|
|
|
|
|
Ex:
|
|
|
|
|
|
|
|
|
|
WriteLn (strComma(1000000)); // will print 1,000,000
|
|
|
|
|
|
|
|
|
|
+ New MPL Cfg variable CfgTempPath returns the location of the current node
|
|
|
|
|
temporary directory.
|
|
|
|
|
|
|
|
|
|
+ New MPL function TimerMin works just like Timer except returns minutes
|
|
|
|
|
instead of seconds.
|
|
|
|
|
|
|
|
|
|
+ New MPL function Date2Dos takes a MM/DD/YY format date and converts it to
|
|
|
|
|
DOS packed datetime format.
|
|
|
|
|
|
|
|
|
|
+ New MPL function Date2Julian takes a MM/DD/YY format date and converts it
|
|
|
|
|
to a Julian date format.
|
|
|
|
|
|
|
|
|
|
+ New MPL function dateg2j takes a gregorian date format and converts it to
|
|
|
|
|
a Julian format.
|
|
|
|
|
|
|
|
|
|
+ New MPL function datej2g takes a julian date format and converts it to a
|
|
|
|
|
gregorian format.
|
|
|
|
|
|
|
|
|
|
+ New MPL function DateValid takes a MM/DD/YY date and returns true or false
|
|
|
|
|
depending on if the date is valid (ie, month is 01-12, etc).
|
|
|
|
|
|
|
|
|
|
+ New MPL funtion WritePipe works just like Write but only parses Pipe color
|
|
|
|
|
codes instead of all MCI codes.
|
|
|
|
|
|
|
|
|
|
+ New MPL function WritePipeLn is WritePipe with a CRLF at the end.
|
|
|
|
|
|
|
|
|
|
+ New MPL function WriteRaw works just like write except it does not parse
|
|
|
|
|
any pipe color codes OR MCI codes.
|
|
|
|
|
|
|
|
|
|
+ New MPL function WriteRawLn works just like WriteRaw except with a CRLF
|
|
|
|
|
added to the end.
|
|
|
|
|
|
|
|
|
|
! Mystic now properly buffers menu files when loading them.
|
|
|
|
|
|
|
|
|
|
+ New MPL fuction "MorePrompt" displays the system more prompt and returns
|
|
|
|
|
a Char value of either Y N or C depending on what the user selected.
|
|
|
|
|
|
|
|
|
|
+ New MPL function "Pause" displays the system pause prompt, for those that
|
|
|
|
|
don't like doing a "Write('|PA')". Keep in mind if you have a function
|
|
|
|
|
called Pause in your MPL program, you will need to rename it to something
|
|
|
|
|
else.
|
|
|
|
|
|
|
|
|
|
+ The %U code for running doors now replaces spaces in the username with an
|
|
|
|
|
underscore (_).
|
|
|
|
|
|
|
|
|
|
+ New MPL function AddSlash(String) : String takes a directory and appends
|
|
|
|
|
the appropriate ending backslash or forward slash depending on operating
|
|
|
|
|
system. If the slash is already there, it does nothing.
|
|
|
|
|
|
|
|
|
|
! InputNY function now correctly returns TRUE if they user selected YES. It
|
|
|
|
|
was reversing the result. InputYN worked fine, this one did not. MPL
|
|
|
|
|
programs that used a work around for this, will need to change code.
|
|
|
|
|
|
|
|
|
|
+ Mystic now properly parses PAGEUP and PAGEDOWN keys sent by SyncTerm. This
|
|
|
|
|
change is only for Windows as it has yet to be determined if making this
|
|
|
|
|
change in OSX is going to conflict with the F9 and F10 keys. I may end up
|
|
|
|
|
making this change on those sides too and forgetting to update the changes
|
|
|
|
|
file. Be forwarned :)
|
|
|
|
|
|
|
|
|
|
+ Mystic now has an internal ANSI gallery. A new menu command, 2 new
|
|
|
|
|
templates, a new percent bar configuration, and several new prompts come
|
|
|
|
|
along with this.
|
|
|
|
|
|
|
|
|
|
The new menu command is GA and takes a command line option that points to
|
|
|
|
|
the root of where your ANSI files exist. This allows the user to move
|
|
|
|
|
around through the directory structure starting at the root supplied in
|
|
|
|
|
the command option data.
|
|
|
|
|
|
|
|
|
|
The gallery allows for an unlimited "depth" in the directory structure with
|
|
|
|
|
the only limitation being that each directory can have up to 1,000 files
|
|
|
|
|
or folders in it. The gallery supports file downloads, first letter
|
|
|
|
|
filename jumping, and full arrow/pageup/pagedown/home/end manuvering.
|
|
|
|
|
|
|
|
|
|
The gallery will also attempt to import SAUCE tags on the fly while
|
|
|
|
|
presenting the directory structure which will be sorted alphabetically on
|
|
|
|
|
the fly. SAUCE data is available as Prompt Info codes in the prompts
|
|
|
|
|
that go along with it. This stuff is CPU intensive and wasn't really
|
|
|
|
|
viable "back in the day".
|
|
|
|
|
|
|
|
|
|
A new percent bar configuration can be found in the language settings in
|
|
|
|
|
MCFG for the Gallery Bar. This bar in the default template expects a bar
|
|
|
|
|
length of 20. You will need to go set that up how you'd like it, and if
|
|
|
|
|
you do not want to use it you can simply blank out the percent bar prompt.
|
|
|
|
|
|
|
|
|
|
Two new templates go with this:
|
|
|
|
|
|
|
|
|
|
ansigal.ans - Contains the main gallery screen. ScreenInfo codes !1 and
|
|
|
|
|
!2 are used to define the top line and the bottom line in
|
|
|
|
|
the file listing box. The actual content of the box is
|
|
|
|
|
defined using prompts.
|
|
|
|
|
|
|
|
|
|
ansigalh.ans- This is the help screen displayed when the user enters
|
|
|
|
|
a ?.
|
|
|
|
|
|
|
|
|
|
The following new prompts must be added to your language files, and your
|
|
|
|
|
language files must be recompiled using MAKELANG or MCFG:
|
|
|
|
|
|
|
|
|
|
; ansi gallery: Ansi is required to use this prompt
|
|
|
|
|
466 |CRSorry, this gallery requires ANSI graphics|CR|CR|PA
|
|
|
|
|
|
|
|
|
|
; ansi gallery: Deselected file in list (bar OFF)
|
|
|
|
|
; &1=filename &2=filesize &3=filedate &4=sauce author &5=sauce title
|
|
|
|
|
; &6=sauce group &7=filetime
|
|
|
|
|
467 |[X02|07|16 |$R49|&1 |$R12|&6 |$R12|&4 |XX
|
|
|
|
|
|
|
|
|
|
; ansi gallery: Selected file in list (bar ON)
|
|
|
|
|
; &1=filename &2=filesize &3=filedate &4=sauce author &5=sauce title
|
|
|
|
|
; &6=sauce group &7=filetime
|
|
|
|
|
468 |[X02|15|17 |$R49|&1 |$R12|&6 |$R12|&4 |XX
|
|
|
|
|
|
|
|
|
|
; ansi gallery: Deselected DIRECTORY in list (bar OFF)
|
|
|
|
|
; &1=filename &2=filesize &3=filedate &4=sauce author &5=sauce title
|
|
|
|
|
; &6=sauce group &7=filetime
|
|
|
|
|
469 |[X02|07|16 |$R49|&1 |12<DIRECTORY>|$D15 |XX
|
|
|
|
|
|
|
|
|
|
; ansi gallery: Selected DIRECTORY in list (bar ON)
|
|
|
|
|
; &1=filename &2=filesize &3=filedate &4=sauce author &5=sauce title
|
|
|
|
|
; &6=sauce group &7=filetime
|
|
|
|
|
470 |[X02|15|17 |$R49|&1 |12<DIRECTORY>|$D15 |XX
|
|
|
|
|
|
|
|
|
|
; ansi gallery: Current path update prompt (when switching directories)
|
|
|
|
|
; set to blank to not display a path
|
|
|
|
|
; &1 = current path &2 = # of files in path
|
|
|
|
|
471 |[X08|[Y05|15|16|$R70|&1
|
|
|
|
|
|
|
|
|
|
; ansi gallery: Percent bar update (when redrawing page)
|
|
|
|
|
; Set to blank to not display a bar. Bar config is in MCFG lang settings
|
|
|
|
|
; &1 = Percentage bar &2 = Percentage (0-100)
|
|
|
|
|
472 |[X52|[Y23|15|16|$L03|&2|07% |&1
|
|
|
|
|
|
|
|
|
|
; ansi gallery: Default sauce values for no sauce record. 3 words separated
|
|
|
|
|
; by semi-colons: Title;Author;Group IE: Unknown;Unknown;Unknown
|
|
|
|
|
473 Unknown;Unknown;Unknown
|
|
|
|
|
|
|
|
|
|
; ansi gallery: Command prompt for ! (only download for now)
|
|
|
|
|
474 |CR|12Download |&1? |XX
|
|
|
|
|
|
|
|
|
|
Enjoy!
|
|
|
|
|
|
|
|
|
|
+ MPL FOR/WHILE/REPEAT loop statements now have CONTINUE and BREAK commands
|
|
|
|
|
availble to manipulate the loop.
|
|
|
|
|
|
|
|
|
|
+ When MIS creates a new telnet node in Windows, the specific node will have
|
|
|
|
|
its screen updates disabled by default. This will speed up output a bit.
|
|
|
|
|
Switching to the window and pressing ALT-V will toggle the local display on
|
|
|
|
|
and off so you can still "snoop" the user. A message is printed in the
|
|
|
|
|
Window with instructions when the screen is disabled.
|
|
|
|
|
|
|
|
|
|
+ Reworked Mystic's socket buffering in Windows. This combined with the
|
|
|
|
|
above change should give an output speed up in the Windows version when
|
|
|
|
|
not connected locally. Initial feedback from alphas say that these changes
|
|
|
|
|
have GREATLY improved speed in Windows.
|
|
|
|
|
|
|
|
|
|
Linux and OSX will not notice much of a difference because those versions
|
|
|
|
|
had better buffering to begin with.
|
|
|
|
|
|
|
|
|
|
+ Increased OSX and Linux output buffer to 4KB up from 1KB. I am not sure
|
|
|
|
|
this will make much of a difference, but it is now the same as the new
|
|
|
|
|
Windows buffer. I think the "sweet spot" is around 2K actually.
|
|
|
|
|
|
|
|
|
|
+ New MCI code |DI## where ## is a number between 0 and 99. This MCI code
|
|
|
|
|
only works in display files and is used to set a character display rate.
|
|
|
|
|
The ## defines the number of characters displayed between delay, so 00 is
|
|
|
|
|
no delay, 01 is the slowest, 99 is the fastest. This can be useful when
|
|
|
|
|
trying to emulate certain baud rates, or if you have ANSImation and want
|
|
|
|
|
callers to actually see it! :) This code can be used multiple times in
|
|
|
|
|
a single display file to change speeds throughout.
|
|
|
|
|
|
|
|
|
|
+ Mystic no longer sends multiple warnings to a user when their time is
|
|
|
|
|
running out. It now only sends them one warning when they have 5 minutes
|
|
|
|
|
left.
|
|
|
|
|
|
|
|
|
|
+ Rewrote some of the input functions to be more efficient, mostly on the
|
|
|
|
|
Windows platform. Input should be a bit more responsive now on all
|
|
|
|
|
platforms though. Generally, when combined with the other Windows
|
|
|
|
|
changes, overall feel should be "snappier" than in the past.
|
|
|
|
|
|
|
|
|
|
+ The ANSI gallery menu command now accepts a second parameter to define
|
|
|
|
|
the display speed of the files in the gallery. The format for the
|
|
|
|
|
optional data is now:
|
|
|
|
|
|
|
|
|
|
<root gallery path>;<speed>
|
|
|
|
|
c:\mystic\mygallery;0
|
|
|
|
|
|
|
|
|
|
Zero will disable any speed reduction. 1 is the slowest and you can go
|
|
|
|
|
up to 255 for the fastest delay with the speed option.
|
|
|
|
|
|
|
|
|
|
+ Mystic now updates the Window title with the current logged in user and
|
|
|
|
|
their node "action" in each node's window. (Windows only) ie:
|
|
|
|
|
|
|
|
|
|
"Mystic Node 1 - g00r00 - Reading messages"
|
|
|
|
|
|
|
|
|
|
+ New MPL command SetPromptInfo. This allows you to set Mystic's internal
|
|
|
|
|
"changing" PromptInfo MCI codes (the |&X codes). For example:
|
|
|
|
|
|
|
|
|
|
SetPromptInfo(1, 'Hello!');
|
|
|
|
|
WriteLn ('This MCI code would like to say: |&1');
|
|
|
|
|
|
2012-03-02 17:28:22 -08:00
|
|
|
|
As a side note, there is NOT a GetPromptInfo because you can simply use
|
2012-02-13 15:21:07 -08:00
|
|
|
|
MCI2STR:
|
|
|
|
|
|
|
|
|
|
WriteLn('This MCI code would like to say: ' + Mci2Str('&1'));
|
|
|
|
|
|
|
|
|
|
+ New MPL command GetScreenInfo. This allows you to read Mystic's internal
|
|
|
|
|
ScreenInfo codes, used in Templates - so your MPLs can easily have
|
|
|
|
|
templates just like Mystic! These are the |!X codes.
|
|
|
|
|
|
|
|
|
|
Var
|
|
|
|
|
X, Y, Attr : Byte;
|
|
|
|
|
Begin
|
|
|
|
|
GetScreenInfo(1, X, Y, Attr);
|
|
|
|
|
|
|
|
|
|
WriteLn('The value of the !1 MCI code was:');
|
|
|
|
|
WriteLn(' X: ' + Int2Str(X));
|
|
|
|
|
WriteLn(' Y: ' + Int2Str(Y));
|
|
|
|
|
WriteLn('Attr: ' + Int2Str(Attr));
|
|
|
|
|
End;
|
|
|
|
|
|
|
|
|
|
+ New MPL command "BufFlush". This causes Mystic to immediately send
|
|
|
|
|
whatever is in the output buffer to the client. In almost all cases you
|
|
|
|
|
will never need to use this, as Mystic knows most of the time when it
|
|
|
|
|
needs to do that. It is more of a precautionary function.
|
|
|
|
|
|
|
|
|
|
! This isn't really a bug, more of an oversight. When Mystic is saving
|
|
|
|
|
previously entered text, it would also save password input. Input
|
|
|
|
|
history is accessible by pressing the up/down arrows on field input. You
|
|
|
|
|
did know about that, right? Figures! :)
|
|
|
|
|
|
|
|
|
|
+ New MPL function "StripL" strips the left side of a string of any
|
|
|
|
|
specified leading characters.
|
|
|
|
|
|
|
|
|
|
Var S : String = ' Hello';
|
|
|
|
|
S := StripL(S, ' ');
|
|
|
|
|
|
|
|
|
|
+ New MPL function "StripR" strips the right side of a string of any
|
|
|
|
|
specifcied trailing character:
|
|
|
|
|
|
|
|
|
|
Var S : String = 'Hello ';
|
|
|
|
|
S := StripR(S, ' ');
|
|
|
|
|
|
|
|
|
|
+ New MPL function "StripB" strips both sides of the string if a specific
|
|
|
|
|
character.
|
|
|
|
|
|
|
|
|
|
Var S : String = ' Hello ';
|
|
|
|
|
S := StripB(S, ' ');
|
|
|
|
|
|
|
|
|
|
+ New MPL function "StripLow" strips all chracters from a string that are
|
|
|
|
|
less than ascii code #32.
|
|
|
|
|
|
|
|
|
|
Var S : String = #12#12#12#12 + 'Hello';
|
|
|
|
|
S := StripLow(S);
|
|
|
|
|
|
|
|
|
|
+ New MPL function "MCILength" works just like "Length" except it tries to
|
|
|
|
|
ignore MCI codes. It doesn't check for actual validity of MCI codes.
|
|
|
|
|
|
|
|
|
|
Var B : Byte;
|
|
|
|
|
B := MCILength('|15Hello|UH');
|
|
|
|
|
WriteLn ('Length should be 5: ' + Int2Str(B));
|
|
|
|
|
|
|
|
|
|
+ New MPL function "Initials" takes a user name and attempts to return one
|
|
|
|
|
or two character initials.
|
|
|
|
|
|
|
|
|
|
S := Initials('Jack Phlash'); // should return "JP"
|
|
|
|
|
|
|
|
|
|
+ New MPL function "StripPipe" takes a string and strips only pipe color
|
|
|
|
|
codes from it.
|
|
|
|
|
|
|
|
|
|
S := StripPipe('|15Hello there, |UH'); //returns "Hello There, |UH"
|
|
|
|
|
|
|
|
|
|
+ New MPL function "StrMci" takes an entire string and attempts to translate
|
|
|
|
|
any MCI codes found in it, returning the entire result.
|
|
|
|
|
|
|
|
|
|
S := StrMci('Hello |UH');
|
|
|
|
|
|
|
|
|
|
+ New MPL function "BitCheck" accepts a bit position and checks it against
|
|
|
|
|
an integer, returning true or false if the bit is on. So for example in
|
|
|
|
|
the Records, the third bit in UserFlags is UserDeleted:
|
|
|
|
|
|
|
|
|
|
GetThisUser
|
|
|
|
|
If BitCheck(3, UserFlags) Then WriteLn('User is marked deleted');
|
|
|
|
|
|
|
|
|
|
Note that this was implemented before actual bitwise math, which also
|
|
|
|
|
made it into this version. Keep reading! :)
|
|
|
|
|
|
|
|
|
|
+ New MPL function "BitToggle" accepts a bit position and an integer and
|
|
|
|
|
toggles the bit.
|
|
|
|
|
|
|
|
|
|
GetThisUser
|
|
|
|
|
BitToggle(3, UserFlags); // undeletes if they are deleted or deletes if
|
|
|
|
|
// they are not deleted.
|
|
|
|
|
|
|
|
|
|
+ New MPL function "BitSet" accepts a bit position and an integer and sets
|
|
|
|
|
the bit ON/OFF based on a boolean:
|
|
|
|
|
|
|
|
|
|
GetThisUser
|
|
|
|
|
BitSet(3, UserFlags, True); // user is marked as deleted
|
|
|
|
|
|
|
|
|
|
+ MPL now allows hexidecimal values to be used in numeric variable assignment
|
|
|
|
|
numerical evaluation, and in numeric constant variables. A hex value must
|
|
|
|
|
begin with a $ character. Some examples:
|
|
|
|
|
|
|
|
|
|
Const
|
|
|
|
|
MyHexValue = $1F;
|
|
|
|
|
|
|
|
|
|
Value := $10;
|
|
|
|
|
|
|
|
|
|
If Value = $10 Then WriteLn('Value is 16 <in decimal>');
|
|
|
|
|
|
|
|
|
|
+ MPL now fully supports bitwise math and operators! The following are
|
|
|
|
|
implemented:
|
|
|
|
|
|
|
|
|
|
AND - Bitwise AND
|
|
|
|
|
OR - Bitwise OR
|
|
|
|
|
XOR - Bitwise exclusive OR
|
|
|
|
|
SHL - Bitwise shift left
|
|
|
|
|
SHR - Bitwise shift right
|
|
|
|
|
|
|
|
|
|
Example:
|
|
|
|
|
|
|
|
|
|
Const
|
|
|
|
|
UserDeleted = $04; // established bit for userdeleted from records.pas
|
2012-03-02 17:28:22 -08:00
|
|
|
|
// note: this value has changed check records.pas!
|
2012-02-13 15:21:07 -08:00
|
|
|
|
Begin
|
|
|
|
|
GetThisUser
|
|
|
|
|
|
|
|
|
|
If UserFlags AND UserDeleted <> 0 Then
|
|
|
|
|
WriteLn('User is deleted');
|
|
|
|
|
End;
|
|
|
|
|
|
|
|
|
|
+ Mystic now keeps a "virtual terminal" of what the users terminal SHOULD
|
|
|
|
|
look like. This opens up the ability to have "remote" screen saves and
|
|
|
|
|
restores since Mystic thinks it knows what their screen looks like. :)
|
|
|
|
|
|
|
|
|
|
+ New MPL function "GetCharXY" returns the character located on the user's
|
|
|
|
|
screen at the XY location.
|
|
|
|
|
|
|
|
|
|
Var Ch : Char;
|
|
|
|
|
Ch := GetCharXY(1, 1);
|
|
|
|
|
WriteLn('The user has the following character at 1,1: ' + Ch);
|
|
|
|
|
|
|
|
|
|
This kind of stuff could allow you to create MPL-based custom screen
|
|
|
|
|
effects like TheDraw used to have, except for on-the-fly with whatever
|
|
|
|
|
is on the user's screen.
|
|
|
|
|
|
|
|
|
|
+ New MPL function "GetAttrXY" returns the attribute of the character
|
|
|
|
|
at position XY on the user's screen:
|
|
|
|
|
|
|
|
|
|
Var Attr : Byte;
|
|
|
|
|
Attr := GetAttrXY(1, 1);
|
|
|
|
|
WriteLn ('The attribure of the character at 1,1 is: ' + strI2S(Attr));
|
|
|
|
|
|
|
|
|
|
+ New MPL variable "CfgSeeInvis" gives you access to the "See Invisible"
|
|
|
|
|
ACS value from Mystic's configuration.
|
|
|
|
|
|
|
|
|
|
+ New MPL variable "CfgMaxNode" gives you access to the "Max Nodes" setting
|
|
|
|
|
from Mystic's configuration. -- LATER REPLACED IN SAME ALPHA KEEP READING
|
|
|
|
|
|
|
|
|
|
+ Completely reworked the System Configuration data file (MYSTIC.DAT). Some
|
|
|
|
|
variable names were changed for clarity. This also makes room for some new
|
|
|
|
|
features that are on the drawing board. Record formats will probably not
|
|
|
|
|
change again for quite some time. Configuration editors still need to be
|
|
|
|
|
reworked to better support the new format - big changes incoming on that
|
|
|
|
|
front. Ideally, writing a utility for 1.10 will work for many versions to
|
|
|
|
|
come - just as long as I didn't overlook something serious.
|
|
|
|
|
|
|
|
|
|
+ The Allow Multiple login feature is now an ACS setting instead of a simple
|
|
|
|
|
Yes or No. Find in in the configuration somewhere! :)
|
|
|
|
|
|
|
|
|
|
- Removed the "Archiver" directory as it was meaningless. Put the path in
|
|
|
|
|
your archive configurations if you need to, otherwise they are probably
|
|
|
|
|
already in your 'path' to begin with and likely do not need one to begin
|
|
|
|
|
with.
|
|
|
|
|
|
|
|
|
|
+ Added a "Semaphore" directory. This is where the *.now files are now
|
|
|
|
|
created for new network-based message events. Previously they were created
|
|
|
|
|
in the DATA directory and could not be changed.
|
|
|
|
|
|
|
|
|
|
+ ACS strings in the System Configuration now have a maximum of 30 characters
|
|
|
|
|
up from 20.
|
|
|
|
|
|
|
|
|
|
+ System directories have been expanded to 80 characters, up from 40.
|
|
|
|
|
|
|
|
|
|
+ All menu names in the System Configuration now have a maximum filename of
|
|
|
|
|
20 characters, up from 8. You still can't create
|
|
|
|
|
"omgthisismymenunowlolsitsawesome.mnu" but you CAN create "messagemenu.mnu"
|
|
|
|
|
|
|
|
|
|
- Removed the unused "ScreenBlank" setting from Mystic. Screensaver does not
|
|
|
|
|
matter outside of a DOS OS, and DOS is gone, thankfully.
|
|
|
|
|
|
|
|
|
|
+ Increased the maximum number of "EchoMail" networks from 20 to 30.
|
|
|
|
|
|
|
|
|
|
- Removed Node settings and NODEx.DAT files. You can delete node*.dat from
|
|
|
|
|
your data directory. Since Mystic no longer internally supports modems,
|
|
|
|
|
this configuration is not needed. Any MCI codes for doors and related that
|
|
|
|
|
normally put a baud rate or comport will now default to 38400 baud and COM1
|
|
|
|
|
unless it is a local login.
|
|
|
|
|
|
|
|
|
|
- Prompt #315 is no longer used. I can't remember why. :)
|
|
|
|
|
|
2012-02-16 20:27:55 -08:00
|
|
|
|
+ Removed MPL Cfg Variable "CfgMaxNodes" and replaced it with "CfgTNNodes"
|
2012-02-13 15:21:07 -08:00
|
|
|
|
variable, which now contains the number of telnet nodes to allow. These
|
|
|
|
|
are basically interchangable in your MPL code but it is changing to more
|
|
|
|
|
accurately reflect what Mystic is doing.
|
|
|
|
|
|
|
|
|
|
+ Removed the "Max Nodes" from the System Configuration. This is now longer
|
|
|
|
|
needed. The number of telnet connections determines your max nodes, since
|
|
|
|
|
there are not telnet and dialup nodes now. Dialup can still be supported
|
|
|
|
|
using gating software that accepts a dialup connection, and creates a
|
|
|
|
|
telnet connection to Mystic. This may become internal at some point, but
|
|
|
|
|
I do not know of a single dialup Mystic BBS (and there is 3rd party
|
|
|
|
|
software to do this) so it is low in priority.
|
|
|
|
|
|
|
|
|
|
+ Added new "Max Telnet Nodes" in MCFG's Internet Configuration. This needs
|
|
|
|
|
to be set to the maximum number of nodes you wish to allow/listen for under
|
|
|
|
|
all platforms. This replaces the old "Max Nodes" setting.
|
|
|
|
|
|
|
|
|
|
+ Mystic now saves information in the configuration of when it was last
|
|
|
|
|
upgraded. If the data file formats are outdated, Mystic will refuse to run
|
|
|
|
|
and exit with an error. MIS, MBBSUTIL, MCFG, MYSTPACK also check to ensure
|
|
|
|
|
data files are current before executing. If you want to add something
|
|
|
|
|
similar into your utilities (that include records.pas), here is an example:
|
|
|
|
|
|
|
|
|
|
{$I records.pas}
|
|
|
|
|
|
|
|
|
|
Var
|
|
|
|
|
ConfigFile : File of RecConfig;
|
|
|
|
|
Config : RecConfig;
|
|
|
|
|
|
|
|
|
|
Assign (ConfigFile, 'mystic.dat');
|
|
|
|
|
{$I-} Reset (ConfigFile, Config); {$I+}
|
|
|
|
|
|
|
|
|
|
If IoResult <> 0 Then Begin
|
|
|
|
|
WriteLn('Cannot read mystic.dat. Run from root Mystic dir!');
|
|
|
|
|
Halt(1);
|
|
|
|
|
End;
|
|
|
|
|
|
|
|
|
|
Read (ConfigFile, Config);
|
|
|
|
|
Close (ConfigFile);
|
|
|
|
|
|
|
|
|
|
If Config.DataChanged <> mysDataChanged Then Begin
|
|
|
|
|
WriteLn('Your data files are not compatible with this version');
|
|
|
|
|
Halt(1);
|
|
|
|
|
End;
|
|
|
|
|
|
|
|
|
|
// Everything is good and now you have Mystic's configuration loaded
|
|
|
|
|
// in memory for your utility.
|
|
|
|
|
|
|
|
|
|
Now granted, this checks ONLY the base Mystic configuration file,
|
|
|
|
|
but the upgrade utility for each release should update this base, AND
|
|
|
|
|
everything else too. So the assumption is if the base configuration is
|
|
|
|
|
not up to par, then nothing else is either.
|
|
|
|
|
|
|
|
|
|
- The "Wait for call" screen has been removed from the Mystic process
|
|
|
|
|
executable. Instead, a Mystic -L just logs you directly into the BBS as
|
|
|
|
|
it would in Linux. Executing Mystic -CFG will take you to the
|
|
|
|
|
configuration that would normally be accessible from the "WFC" screen.
|
|
|
|
|
You can delete "wfcscrn.ans" from your DATA directory.
|
|
|
|
|
|
|
|
|
|
- Removed -CID command line which was identical to the -TID command line
|
|
|
|
|
option since modems had been removed.
|
|
|
|
|
|
|
|
|
|
+ If MYSTIC.EXE is ran without any parameters, it will default to node 1
|
|
|
|
|
local mode and start the login process in Windows. This change was made
|
|
|
|
|
because that is how the Linux and OSX versions work. Previously you would
|
|
|
|
|
get an error saying you needed to use -L for local mode, which was kind of
|
|
|
|
|
redundant.
|
|
|
|
|
|
|
|
|
|
! Mystic was only drawing 79 characters on the status bar during a Windows
|
|
|
|
|
login before the user logged in. Fixed.
|
|
|
|
|
|
|
|
|
|
- Removed 2-line status bar option in the Windows version. I couldn't find
|
|
|
|
|
anyone that uses it, it complicates codes, and interferes with ANSIs that
|
|
|
|
|
are assumed to support 24-lines by pretty much all terminals.
|
|
|
|
|
|
|
|
|
|
+ When exiting Sysop chat mode on Windows, Mystic now remotely restores the
|
|
|
|
|
user's screen to what it was before chat was started. Small entry to the
|
|
|
|
|
whatsnew, but pretty awesome in what its really doing.
|
|
|
|
|
|
|
|
|
|
+ Mystic now has the option to define the maximum number of password
|
|
|
|
|
attempts. It used to be hard-coded to 3.
|
|
|
|
|
|
|
|
|
|
+ Mystic now has the option to define the maximum number of login attempts
|
|
|
|
|
when a user is first prompted for their user name before the connection
|
|
|
|
|
is terminated. This was previously hard coded to 3.
|
|
|
|
|
|
|
|
|
|
+ Mystic now allows the number of minutes given to an unknown user to be
|
|
|
|
|
defined in the configuration. This is the amount of time they have to
|
|
|
|
|
either login or create a new account.
|
|
|
|
|
|
|
|
|
|
! Mystic was not properly sending the 'hackwarn.txt' e-mail to a user
|
|
|
|
|
when their password was incorrectly entered via the Matrix login.
|
|
|
|
|
|
|
|
|
|
+ Mystic now allows the option for users to send a "password inquiry" email
|
|
|
|
|
to the user defined in the configuration as the "Feedback To" user. This
|
|
|
|
|
option is available when a user fails to enter a valid password from
|
|
|
|
|
either the Matrix login or the standard login. A new prompt goes along
|
|
|
|
|
with this:
|
|
|
|
|
|
|
|
|
|
; Password inquiry prompt
|
|
|
|
|
475 |CR|12Send a password inquiry message to the SysOp? |XX
|
|
|
|
|
|
|
|
|
|
This feature can be turned off or on in the login configuration.
|
|
|
|
|
|
|
|
|
|
! Fixed a bug in split screen chat text wrapping that as introduced in the
|
|
|
|
|
previous version.
|
|
|
|
|
|
|
|
|
|
! Split screen chat now filters out the linefeed character. Some terminals
|
|
|
|
|
that send CRLF when ENTER is pressed were causing some display issues in
|
|
|
|
|
split chat.
|
|
|
|
|
|
|
|
|
|
+ Added account expiration system into Mystic. User accounts now have a
|
|
|
|
|
Expires date (mm/dd/yy) and Expires To (security level) field on each
|
|
|
|
|
record. Accounts set to expire to level 0 will be marked as deleted.
|
|
|
|
|
|
|
|
|
|
Two new MCI codes go along with this:
|
|
|
|
|
|
|
|
|
|
XD - Displays the number of days until expiration (or 0 if none)
|
|
|
|
|
XS - Displays the security level user will expire to.
|
|
|
|
|
|
|
|
|
|
Two new prompts go along with this:
|
|
|
|
|
|
|
|
|
|
; Displayed when account expired down to a security level > 0
|
|
|
|
|
476 |CR|14Your account has expired. Downgrading security to |XS.
|
|
|
|
|
; Displayed when account expired down to level 0 (delete)
|
|
|
|
|
477 |CR|12Your account has expired and is now marked for deletion.
|
|
|
|
|
|
|
|
|
|
+ Mystic can now force the user to change their password after a certain
|
|
|
|
|
number of days. This option is found in the system configuration login
|
|
|
|
|
settings. In addition, users can be individually flagged so that they
|
|
|
|
|
are never required to change their password. If the configuration value
|
|
|
|
|
is set to 0, it will disable this feature.
|
|
|
|
|
|
|
|
|
|
A new MCI code goes along with this
|
|
|
|
|
|
|
|
|
|
PW - Returns the value for password reset days in configuration
|
|
|
|
|
|
|
|
|
|
A new prompt goes along with this:
|
|
|
|
|
|
|
|
|
|
; User required password change
|
|
|
|
|
478 |CR|14This BBS requires a password change every |PW days.
|
|
|
|
|
|
|
|
|
|
For now the password change uses the same prompts as the new user
|
|
|
|
|
configuration. That can be separated in the future if it is needed,
|
|
|
|
|
but for now it is the same.
|
|
|
|
|
|
|
|
|
|
- Removed MCFG from Mystic BBS. It is being replaced with an new internal
|
|
|
|
|
configuration. Read on!
|
|
|
|
|
|
|
|
|
|
+ Mystic now has a complete ANSI-based menu UI system for configuration
|
|
|
|
|
editors and possibly more in the future.
|
|
|
|
|
|
|
|
|
|
+ Executing mystic -cfg now takes you directly to the configuration editors.
|
|
|
|
|
When quitting the editor, Mystic will exit back to the operating system.
|
|
|
|
|
If you are used to using MCFG you can create a MCFG.BAT or MCFG.SH which
|
|
|
|
|
just executes "mystic -cfg" to get a similar effect.
|
|
|
|
|
|
|
|
|
|
The new internal editor uses the new ANSI menu interface which allows both
|
|
|
|
|
hotkey and arrow keys, listboxes, etc. This is also now accessible using
|
|
|
|
|
the *S Sysop menu command, meaning it usable over your telnet connection
|
|
|
|
|
or locally.
|
|
|
|
|
|
|
|
|
|
A new ANSI file "cfgroot.ans" needs to be placed into the DATA directory.
|
|
|
|
|
This serves as a "wallpaper" for the System Configuration.
|
|
|
|
|
|
|
|
|
|
+ Replaced old, outdated Archive editor with a new "popup" lightbar
|
|
|
|
|
Archive editor, using the new ANSI UI system.
|
|
|
|
|
|
|
|
|
|
+ Replaced old, outdated Protocol editor with a new "popup" lightbar
|
|
|
|
|
Protocol editor, using the new ANSI UI system.
|
|
|
|
|
|
|
|
|
|
! Fixed a bug in file search "description" highlighting. Not sure if this
|
|
|
|
|
was in previous versions or introduced in the latest alphas but it should
|
|
|
|
|
be fixed up now.
|
|
|
|
|
|
|
|
|
|
- Removed the ALT+J shell to DOS function from the Windows version. There
|
|
|
|
|
is no reason to have this built into the node process since DOS is no
|
|
|
|
|
longer supported.
|
|
|
|
|
|
|
|
|
|
+ Mystic now accepts a -IP command line which passes the IP. The old
|
|
|
|
|
-UID should pass the hostname.
|
|
|
|
|
|
|
|
|
|
+ Mystic now accepts a -HOST command line which passes the HOST. The UID
|
|
|
|
|
command line is the same as -HOST and remains only for backwards
|
2012-02-14 23:29:52 -08:00
|
|
|
|
compatibility. It might be removed in the future, so if you use the UID
|
|
|
|
|
command line, its best to switch to HOST.
|
2012-02-13 15:21:07 -08:00
|
|
|
|
|
|
|
|
|
+ New MCI code UY returns the IP address (UX returns host)
|
|
|
|
|
|
|
|
|
|
+ %4 when executing doors, now returns the IP address (%5 is host)
|
|
|
|
|
|
|
|
|
|
+ When executing protocols, %4 now returns IP address (%5 is host)
|
|
|
|
|
|
|
|
|
|
+ Mystic now replaces logging of the baud rate in the Sysop log with the
|
|
|
|
|
IP and hostname of the connection.
|
|
|
|
|
|
|
|
|
|
+ MIS now passes both the IP and HOST command lines when creating a telnet
|
|
|
|
|
session.
|
2012-02-14 14:37:25 -08:00
|
|
|
|
|
|
|
|
|
! Mystic should now properly copy Welcome, News, and Goodbye files if they
|
|
|
|
|
exist into QWK packets.
|
2012-02-14 15:34:56 -08:00
|
|
|
|
|
|
|
|
|
+ Mystic now strips out pipe color codes from the headers of the allfiles
|
2012-02-14 23:29:52 -08:00
|
|
|
|
or newfiles exports in the file bases and in QWK packets.
|
2012-02-16 19:34:57 -08:00
|
|
|
|
|
|
|
|
|
+ FTP Server now has minimum and maximum port values for passive and
|
|
|
|
|
extended passive data ports. Defaults should be 60000, and 65535
|
|
|
|
|
|
|
|
|
|
+ FTP Server now has a configurable "per connection" timeout. Recommended
|
|
|
|
|
value is at least 300 seconds.
|
|
|
|
|
|
|
|
|
|
+ FTP server now has a configurable "max connections with same IP" value.
|
|
|
|
|
This should be set to at least 2, for incoming data connections with
|
|
|
|
|
the same IP.
|
2012-02-17 22:55:19 -08:00
|
|
|
|
|
|
|
|
|
+ Added configurable POP3 server options for connection Timeout and for
|
|
|
|
|
Delete Mail on Retrieve.
|
2012-02-21 14:42:44 -08:00
|
|
|
|
|
|
|
|
|
+ TAB key now works in the full screen editor. Tab stop is 5 spaces.
|
|
|
|
|
|
|
|
|
|
+ CTRL-D now functions the same as the right arrow in the full screen
|
|
|
|
|
editor.
|
|
|
|
|
|
|
|
|
|
+ CTRL-E now functions the same as the up arrow in the full screen
|
|
|
|
|
editor.
|
|
|
|
|
|
|
|
|
|
+ CTRL-F now moves the beginning of the current line in the full screen
|
|
|
|
|
editor.
|
|
|
|
|
|
|
|
|
|
+ CTRL-G now moves to the end of the current line (same as end key)
|
|
|
|
|
|
|
|
|
|
+ CTRL-J now erases the current line in the full screen editor. It does
|
|
|
|
|
not completely remove the line as CTRL-Y does, it just erases.
|
|
|
|
|
|
|
|
|
|
+ CTRL-N now does a page down in the full screen editor.
|
|
|
|
|
|
|
|
|
|
+ CTRL-O now displays the full screen editor help screen in the full
|
|
|
|
|
screen editor.
|
|
|
|
|
|
|
|
|
|
+ CTRL-P now does a page up in the full screen editor.
|
|
|
|
|
|
|
|
|
|
+ CTRL-T now moves one word to the left in the full screen editor.
|
|
|
|
|
|
2012-02-27 14:10:52 -08:00
|
|
|
|
+ CTRL-R now moves one word to the right in the full screen editor.
|
2012-02-21 14:42:44 -08:00
|
|
|
|
|
|
|
|
|
+ CTRL-X now moves down one line the same as the down arrow key in the
|
|
|
|
|
full screen editor.
|
2012-02-21 15:38:36 -08:00
|
|
|
|
|
|
|
|
|
+ CTRL-W now deletes the word to the left of the cursor in the full
|
|
|
|
|
screen editor.
|
2012-02-21 23:49:20 -08:00
|
|
|
|
|
|
|
|
|
! SysOp Chat Page in Windows now properly updates the user's terminal
|
|
|
|
|
during the page.
|
|
|
|
|
|
|
|
|
|
+ Sysop Chat Page in Windows now plays the "default beep" sound as
|
|
|
|
|
configured in Windows.
|
2012-02-23 18:26:05 -08:00
|
|
|
|
|
|
|
|
|
+ MBBSUTIL has a new function -FUPLOAD. This goes through every file base
|
|
|
|
|
and looks for new files. If a new file is found it will be added into
|
2012-02-24 06:05:10 -08:00
|
|
|
|
Mystic's file base listing as a new file. FILE_ID.DIZ will be imported
|
2012-03-02 17:28:22 -08:00
|
|
|
|
as well. This was later moved to MUTIL
|
2012-02-24 06:05:10 -08:00
|
|
|
|
|
|
|
|
|
! Mystic will no longer shell to the console and get "stuck" when trying
|
|
|
|
|
to execute an archive that has a blank command line in the configuration
|
2012-02-24 07:01:04 -08:00
|
|
|
|
|
|
|
|
|
! MBBSUTIL was sorting BBS Lists and File Lists in reverse alphabetical
|
|
|
|
|
order. This is now fixed to sort as most people would expect.
|
2012-02-24 09:22:47 -08:00
|
|
|
|
|
|
|
|
|
+ The HOME key now functions in the lightbar file listings to move to the
|
|
|
|
|
beginning of the list.
|
|
|
|
|
|
|
|
|
|
+ The END key now functions in the lightbar file listing. It is kind of a
|
|
|
|
|
half-assed implementation though, since doing it "the right way" will
|
|
|
|
|
involve some extra coding in the future.
|
2012-02-26 03:10:54 -08:00
|
|
|
|
|
|
|
|
|
+ File Base settings for all ACS strings has been increased from 20 to 30
|
|
|
|
|
characters.
|
|
|
|
|
|
|
|
|
|
+ File base "lightbar" list templates are now defined per file base in
|
|
|
|
|
the file base editor. The upgrade utility will set existing bases to
|
|
|
|
|
'ansiflst' but any newly created bases will need to have this value set
|
|
|
|
|
per base now.
|
|
|
|
|
|
|
|
|
|
+ Updated file base record structures and added options for the possible
|
|
|
|
|
future "Comment and Rating" system for file bases. In addition, some
|
|
|
|
|
boolean data has been changed into a bitmapped flag variable.
|
|
|
|
|
|
|
|
|
|
+ Added new ANSI file base editor into the System Configuration.
|
|
|
|
|
|
|
|
|
|
+ Added Copy/Paste functions into all new ANSI internal editors.
|
2012-02-26 03:51:59 -08:00
|
|
|
|
|
|
|
|
|
+ Added new ANSI message group and file group editors.
|
2012-02-26 08:52:54 -08:00
|
|
|
|
|
|
|
|
|
- Removed Password protected file and message bases. This is a barely
|
|
|
|
|
used feature and it doesn't integrate well when the bases are available
|
|
|
|
|
via FTP and NTTP, etc. Security around bases needs to be based on the
|
|
|
|
|
ACS system to avoid issues in those situations.
|
|
|
|
|
|
|
|
|
|
Prompts 66, and 67 are no longer used.
|
|
|
|
|
Prompts 103 and 104 are no longer used.
|
|
|
|
|
|
|
|
|
|
+ Ansi message reader template is now configured on a per-base level just
|
|
|
|
|
as the standard reader template is.
|
|
|
|
|
|
|
|
|
|
+ Ansi message reader message index is now configured on a per-base level
|
|
|
|
|
just like the ansi reader template.
|
|
|
|
|
|
|
|
|
|
+ Message base ACS length has been extended to 30 characters.
|
|
|
|
|
|
|
|
|
|
+ Message base standard reader header filename has been expanded to 20
|
|
|
|
|
characters.
|
|
|
|
|
|
|
|
|
|
+ Message base path expanded to 80 characters from 40.
|
|
|
|
|
|
|
|
|
|
+ Added new ANSI message base editor.
|
2012-02-26 12:44:07 -08:00
|
|
|
|
|
|
|
|
|
+ Added new ANSI security level editor.
|
2012-02-27 08:14:27 -08:00
|
|
|
|
|
|
|
|
|
+ SMTP server now has a configurable timeout value per session (in seconds)
|
2012-02-27 09:52:10 -08:00
|
|
|
|
|
|
|
|
|
+ SMTP server now has a configurable number of simultaneous connections
|
|
|
|
|
from the same IP address.
|
2012-02-27 14:10:52 -08:00
|
|
|
|
|
|
|
|
|
+ CTRL-K now cuts a line of text in the full screen editor. If you continue
|
|
|
|
|
to cut more than one time, the text is appended to the cut buffer and will
|
|
|
|
|
contiue to do so until it is pasted. Any cut after a paste resets the cut
|
|
|
|
|
data. This is inspired by the Nano/Pico editors on Unix platforms which
|
|
|
|
|
work the same way (with the same keys!). The cut buffer currently allows
|
|
|
|
|
up to 100 lines to be cut and pasted at once.
|
|
|
|
|
|
|
|
|
|
+ CTRL-U now Uncuts all text that is currently in the cut buffer within the
|
|
|
|
|
full screen editor. You can uncut (paste) as many times as you like with
|
|
|
|
|
the current buffer.
|
2012-02-29 11:58:27 -08:00
|
|
|
|
|
|
|
|
|
+ Mystic now has support for configuring Echomail domains for 5D addresses.
|
|
|
|
|
|
|
|
|
|
+ Mystic now has support to configure an uplink address for each echomail
|
|
|
|
|
address.
|
|
|
|
|
|
|
|
|
|
+ Default language filename can now be up to a 20 character filename
|
|
|
|
|
|
|
|
|
|
+ Default start menu can now be up to a 20 character filename
|
|
|
|
|
|
|
|
|
|
+ All ACS settings in the System configuration have been expanded from 20
|
|
|
|
|
characters to 30 characters max.
|
|
|
|
|
|
|
|
|
|
+ All paths in the System configuration have been expanded to 80 characters
|
|
|
|
|
max.
|
|
|
|
|
|
|
|
|
|
+ MBBSUTIL now has an -AREASOUT option which will export a list of all bases
|
|
|
|
|
flagged as Echomail in the AREAS.BBS format.
|
2012-03-02 17:28:22 -08:00
|
|
|
|
|
|
|
|
|
+ Added a new program called MUTIL. This will eventually become the
|
|
|
|
|
replacement for MBBSUTIL and MYSTPACK. In addition, it will have a ton of
|
|
|
|
|
new features that MBBSUTIL did not have. MUTIL and MUTIL.CFG contain more
|
|
|
|
|
details.
|
|
|
|
|
|
|
|
|
|
+ MUTIL now has the ability to import FIDONET.NA style files into Mystic's
|
|
|
|
|
message bases.
|
|
|
|
|
|
|
|
|
|
+ MUTIL now has the ability to perform an offline "Mass upload" into file
|
|
|
|
|
bases. It will also import File_ID.DIZ (optionally) based on the archive
|
|
|
|
|
configuration.
|
|
|
|
|
|
|
|
|
|
+ "Languages" have been renamed to Themes. LANGUAGE.DAT has been renamed to
|
|
|
|
|
THEME.DAT in the data directory. A ton of new features await with this new
|
|
|
|
|
system. It of course is still possible to use the Theme system to create
|
|
|
|
|
support for different languages as well.
|
|
|
|
|
|
2012-03-08 13:38:44 -08:00
|
|
|
|
Additionally, compiled prompt files that used to have the .LNG file
|
2012-03-02 17:28:22 -08:00
|
|
|
|
extension have been renamed to .THM extension. The upgrade utility should
|
|
|
|
|
take care of all this renaming for you.
|
|
|
|
|
|
|
|
|
|
- MAKELANG has been removed from Mystic BBS distribution.
|
|
|
|
|
|
|
|
|
|
- MakeTHEME has been added to the Mystic BBS distribution. This utility
|
|
|
|
|
works much like MAKELANG did but it has a few new options:
|
|
|
|
|
|
|
|
|
|
1) The ability to decompile prompt files. Keep in mind, comments are
|
|
|
|
|
not added into compiled prompt files, so when you decompile one you
|
|
|
|
|
will lose that information.
|
|
|
|
|
|
|
|
|
|
2) MakeTheme will now check for the existance of a "mysticbbs"
|
|
|
|
|
environment variable. If it finds this variable, it will look in that
|
|
|
|
|
location for MYSTIC.DAT, allowing MakeTheme to no longer be required to
|
|
|
|
|
be in the root Mystic BBS directory.
|
|
|
|
|
|
|
|
|
|
3) Prompts within a prompt file no longer has to be in numerical order.
|
|
|
|
|
More to come on why this change is being made, but generally this
|
|
|
|
|
allows you to categorize prompts.
|
2012-03-02 18:25:37 -08:00
|
|
|
|
|
|
|
|
|
+ Mystic now saves the last known IP and hostname from each user.
|
|
|
|
|
|
|
|
|
|
+ Revamped last caller information. It now saves the IP, Hostname,
|
|
|
|
|
Gender, and if the user was a new user or not. In addition, it will now
|
|
|
|
|
save all 10 custom user questions (not implemented yet).
|
|
|
|
|
|
2012-03-03 20:38:56 -08:00
|
|
|
|
+ MUTIL can now import FILEBONE.NA format files, creating both file bases
|
|
|
|
|
and their directories (if they do not already exist). See MUTIL.CFG for
|
|
|
|
|
more information.
|
|
|
|
|
|
2012-03-04 10:26:05 -08:00
|
|
|
|
! The MCI parser for |!x MCI codes now checks for validity of the number
|
|
|
|
|
or otherwise does not parse the code.
|
|
|
|
|
|
2012-03-04 14:01:58 -08:00
|
|
|
|
+ MUTIL can now generate top 1-99 callers, posters, downloaders, and
|
|
|
|
|
uploaders all configurable by templates.
|
2012-03-04 18:27:33 -08:00
|
|
|
|
|
|
|
|
|
+ MUTIL now has a -NOSCREEN option which disables the screen output when
|
|
|
|
|
executing. When suppling this on the command line, a .cfg file must be
|
|
|
|
|
supplied as well. IE: mutil mutil.cfg -noscreen This is useful for
|
|
|
|
|
Linux/OSX people that may want to execute MUTIL during a login or
|
|
|
|
|
something but do not want their users to see the MUTIL screen.
|
2012-03-05 11:50:46 -08:00
|
|
|
|
|
|
|
|
|
+ Mystic now has 10 colors definable per theme, with 10 new MCI codes
|
|
|
|
|
|T0 to |T9 to display them.
|
2012-03-08 13:38:44 -08:00
|
|
|
|
|
|
|
|
|
+ Mystic's internal Language editor has now been replaced with a theme
|
|
|
|
|
editor. This editor is full ANSI lightbar-capable like other newer
|
|
|
|
|
configurations. It can also edit all prompts and compile prompt files
|
|
|
|
|
all internally. It support at least the features of the old MCFG editor
|
|
|
|
|
including prompt text search, jumping, copy/paste, undo, etc.
|
|
|
|
|
|
|
|
|
|
+ Mystic now checks for messages between nodes every 3 seconds while waiting
|
|
|
|
|
for input. Previously Mystic would check based on situation (ie, before
|
|
|
|
|
menu prompt, in between messages, etc) but never while idle waiting on
|
|
|
|
|
input as it does now.
|
|
|
|
|
|
|
|
|
|
! Mystic was not allowing node messages within MPL programs. It is not clear
|
|
|
|
|
if this was introduced in the 1.10 alphas or if the problem existed in the
|
|
|
|
|
past.
|
|
|
|
|
|
|
|
|
|
+ Mystic now saves and restores the user's screen before and after showing a
|
|
|
|
|
node message. You can now place a clear screen comfortably in those
|
|
|
|
|
prompts to make a really clean look when users are interrupted with node
|
|
|
|
|
messages.
|
|
|
|
|
|
|
|
|
|
+ Mystic now has less chance of a "ghost" user situation occuring in Linux.
|
|
|
|
|
|
|
|
|
|
+ MIS Linux can now accept telnet connections and properly redirect STDIO
|
|
|
|
|
while spawning Mystic. This means it can entirely replace a Linux
|
|
|
|
|
telnet daemon if desired. It has had little testing though at the moment.
|