Mystic Utilities (MUTIL)
Scripting Custom Modules
Mystic Utilities (MUTIL)
Scripting Custom Modules
Every Mystic BBS archive contains a WHATSNEW.TXT file that tracks the development of Mystic BBS for the version related to that archive.
This page contains notes from the author (g00r00) during the development of Mystic BBS v1.11
It outlines what is a new or changed feature, a bug fix, or something that has been removed.
In order to interpret each entry below, the following key explains the nature of each change that has been noted in the WHATSNEW.TXT for this version of Mystic BBS.
! = Bug fix + = New or changed feature - = Removed
Use the Table of Contents on the right hand side of this page to quickly jump between the notes that relate to each Alpha version of Mystic BBS during this development cycle.
If you spot something you think looks amiss with these notes please contact us using the contact info found on this Wiki.
+ FIDOPOLL will now check the FTP and BINKP hostnames when attempting to poll and if the hostname is blank, it will print a message and skip polling for that node. + MPL: Records can now be passed to Procedures in both value and *by reference* using the VAR keyword as is done in Free Pascal/Delphi. This is a HUGE quality of life improvement to MPL. For example (also see TESTREC.MPS): Procedure TestProc1 (Var T: TestRec); Begin T.Field1 := 10; End; Procedure TestProc2 (T: TestRec); Begin T.Field1 := 10; End; In those examples, the TestRec record passed to TestProc1 would maintain its Field1 value of 10 because it was called by memory reference using the VAR keyword. + Aborting an ANSI will now not abort until the current ANSI sequence is completed to prevent any ANSI code bleeding on abort (or until 10+ chars are processed). + Aborting ANSI file display is now based on time (checked every half second). This was in 1.10 A62 but wasn't documented. + Reworked file buffering in file listings for a nice performance gain particularly when searching file descriptions and on operating systems with poor internal I/O caching ! Mystic was incorrectly showing the message base editor menu command in the menu command list. ! Typing "/topic " in node chat would cause the node to lock up. Fixed. ! Typing "/topic" should now properly reset the topic to blank in all circumstances. + The F2 and ESC options can now be selected with the arrow keys in the installation program. + Pressing ENTER on the send node message prompt will now abort the process. + Mystic now supports embedded ANSI in message base reading. Any properly posted message containing ANSI codes will now be resolved and displayed appropriately in all readers. + Mystic's full screen editor now allows full uploading of ANSI and Pipe files into the editor, which can be edited just as it would be in an ANSI editor. + If a message is created with ANSI art and the message base is flagged to allow ANSI, Mystic will now convert the art into 79-character line length BBS-friendly ANSI and save it. This means ANSI art can be created, edited, and uploaded in the full screen editor where it can be posted and read in the message bases just like any other message! + FTP server now responds with 502 error instead of 202 for unknown commands because Filezilla cannot handle 202 during a TLS AUTH request. <ALPHA 1.11 A1 RELEASED -- OCT 16, 2015>
+ Mystic now applies TZUTC kludges to echomail messages ! Message quoting was broken when quoting ANSI embedded messages. For now quoting is fixed but color will be stripped from ANSI when quoted. ! Fixed other quirkiness with the editor and kludges brought on by A1 changes <ALPHA 1.11 A2 RELEASED -- OCT 17, 2015>
+ MUTIL mass upload now has better logs during .diz import (log 2+3) ! MUTIL mass upload now purges the temp directory entirely after each mass upload to prevent .DIZ residue in case sensitive operating systems. ! Fixed TZUTC bug from A2 (hopefully) + MPL functions can now have records as result types, for example: Type TestRec = Record Name : String; Score : LongInt; End; Function GetDefaultTestRecord : TestRec; Var T : TestRec; Begin T.Name := 'None'; T.Score := 0; GetDefaultTestRecord := T; End; Var MyTest : TestRec; Begin MyTest := GetDefaultTestRecord; WriteLn (MyTest.Name); // output will be "None" End; + New MPL function TimerMS : LongInt. This may or may not stay but it provides a way to do millsecond timing of things. + New MCI code: <pipe> -Y : Forces the next Yes/No prompt to default to Yes + New MCI code: <pipe> -N : Forces the next Yes/No prompt to default to No ! Mystic now resets the inactivity timeout after an internal Zmodem transfer to prevent getting logged out for inactivity if you transfer a file for longer than the inactivity period. ! Fixed auto signature weirdness created by new ANSI messages. + Revamped the Searchlight-style prompt menus to be more compatible with different screen sizes. They should work reliably in all situations. + New MPL function: formatDate(dosDate, mask) : string allows you to convert a DOS format date to a string using the mask: YYYY - 4 digit year YY - 2 digit year MM - 2 digit month DDD - 3 char weekday (ie Mon Tue) DD - 2 digit day HH - 2 digit hour II - 2 digit minute SS - 2 digit second NNN - 3 char month (ie Jan, Feb, Mar) + MPL dateDos2Str and dateJulian2Str now accept date format paramters 4,5,6 to return 4 digit year instead of two. 4 = MM/DD/YYYY 5 = DD/MM/YYYY 6 = YYYY/MM/DD ! Fixed file description editing that was disabled in last alpha ! Fixed MsgEditor MPL function that was disabled in last alpha <ALPHA 1.11 A3 RELEASED -- OCT 24, 2015>
+ MUTIL echomail export now tracks the last message it exported, and resumes where it left off on subsequent tosses. This should speed up export functions. ! Fixed a problem where Mystic could detect a "false" duplicate while doing a TIC file toss with a "REPLACES" keyword. + Mystic no longer shows the tear/origin lines or kludge lines inside of the message editor when editing a message. Instead, it strips them and regenerates the echomail data for that message. ! Quoting a message bigger than 10,000 lines could crash the node, disconnecting the user. This should be fixed now. <ALPHA 1.11 A4 RELEASED -- Nov 5, 2015>
+ When forwarding a message to another message base, Mystic will now strip all network information from the message and recalculate everything using the configuration for the destination base. This allows messages to easily be forwarded/crossposted across different networks without issues. ! Fixed a bug with using multi-dim arrays within records in MPL that could cause the wrong value to be returned when addressing the variable. <ALPHA 1.11 A5 RELEASED -- Nov 5, 2015>
+ Cleaned up the ANSI draw mode within the full screen editor. Now ESCAPE brings up a new menu which can be used to quickly change color attribute glyph mode, glyph set, or to exit back to the standard message editor. ! Mystic's parser was preventing Amiga font switching in the Linux version, while it has always worked in Windows. Fixed. <STABLE VERSION 1.11 RELEASED -- Nov 6, 2015>