Version 1.09b: * Fixed serious CPU usage problems when a sector was displayed. The cause of this was the backdoor index that was blocking up the data 'dump' at the end of the database. The backdoor index has now been moved into memory and is calculated when the database is loaded. Unfortunately this means a change in database structure, so 1.08b databases are not compatible. * Fixed double line spacing in the history window. * Fixed the out of sync display in the history window when the program is first loaded. * Fixed a bug where sectors picked up in the port CIM display were not being flagged as calculated/explored. This meant that the port details were there, but they were not being displayed in the $PL and $PU lists. * Fixed a bug that was causing the setProgVar command to set bogus variables. * Fixed a bug that was causing scripts to exit with an unknown error when an unexplored sector was retrieved with the getSector command * Fixed a bug where aliens were being saved in the database as corrupted planets. * Fixed a bug that was causing access violations when attempting to simulate a holoscan next to a sector that had not been explored. Version 1.08b: * Fixed an error message 'List index out of bounds' that was appearing when a game's setup was changed twice in a row. * Fixed a problem where the scripts in the Event List were not being shown until the event list was switched over/changed. * Added a backdoor index to the database. This allowed the adding of several new features. Including: - Faster backdoor checks ($D-) - A red '(backdoors)' displayed in the $DD sector display if the sector has backdoors leading into it - Backdoor checks on all bubbles and deadends - New variables added to the getSector command allowing the retrieval of backdoor info * Exported deadend checks now contain 'true' deadends, rather than all sectors with only one warp out. * Fixed a minor problem where an error dialog would keep being displayed when a database was used in a larger game than it was designed for. * Made serious rearrangements to much of the code. This should improve performance somewhat. * Made improvements to the bubble finder. It can now locate bubbles of a near limitless size, and display all their details in the terminal menu. The max bubble size can be configured in the setup dialog (defaults to 30). Note that higher bubble sizes will result in longer calculation times. Bubbles with backdoors leading into them are shown in red for reference purposes. * Added the option to do a variable dump for all active scripts. This can be done by pressing V from the Script menu. * Added the ability to handle port CIM data. Port CIM data is saved automatically when the user presses R from the game's CIM prompt. This data can be queried in the new 'Port' menu in the terminal menu. Port displays can be reconstructed as last seen and a summary of port details displayed. * Added a new scripting constant by the name of 'CURRENTANSILINE', this constant behaves the same as the 'CURRENTLINE' constant, only it returns the line without its ANSI codes stripped. * The Burst option from the terminal menu is now displayed with its own unique prompt. * Made changes to the display of the terminal menu. All text displayed when leaving the terminal will now be in colour (rather than black and white). * Improved the density searching option in the terminal menu. It now searches for sectors within a given density range, rather than just being higher than a given number. * Made some adjustments to protocol handling with connected clients. This should solve several problems with display and key handling with certain terminals. * Message history now picks up continuous hails when messages are off. * Exported warp CIM data is now tabulated as in the game. This should help provide support for other programs that make use of it. * Script variables no longer have a 255 character limit - they are limited by available memory. * Fixed problems with tabs messing up goto/trigger labels in scripts. * Setup data, including program variables, are now saved properly when the program is closed, not just when the user hits OK in the setup dialog. * Log files will now be saved according to the actual date the data was received rather than the date the program was started. * Fixed a small bug associated with trying to break connection while already connecting. * Fixed problems with ANSI stripping which was preventing triggers from being activated on the first few lines of text received from some systems. * Added the ability to plot warp courses internally. You can do this either through option C in the Data> menu or through one of two new scripting commands, getDistance and getCourse. * Fixed a problem with the storage of warp information, where sometimes warp courses plotted from the computer were being fitted to previous courses plotted, causing invalid data. * Added a database cache option - this has greatly improved the efficiency of all database activity. * Fixed problems with aliens and federals corrupting sector recording. * Warps out from sectors are now stored incrementally (as they are in TW), rather than in order of detection. * CIM warp data will now be logged if it is listed from the CIM prompt. * Fixed a problem where the bottom of sectors displayed from the terminal menu were being overlapped by in game messages. * Fixed data corruption problems related to doing sector displays while in a planet's citadel. * Fixed data corruption problems related to ether probes. * Fixed a scripting problem where the program would give unknown errors when a script would jump into a large block of conditions and encounter a series of endif/else statements. * The 'IsNumber' scripting command was working with its results around the wrong way. This has been adjusted to work the way it was originally intended. * If the program fails to find a script when it is loaded, it will now report the error in the terminal rather than in an exception dialog. * Fixed a bug that was recording 'P indicates Trader is on a planet in that sector' in the chat history when the corp member list was displayed. * Fixed a problem where empty program variables were not being read properly in scripts * Added the following new scripting commands: getDistance, getCourse, fileExists, upperCase, lowerCase, rename * Made the following changes to the getSector command: - Added variable $SECTOR.FIGS.TYPE - Added variable $SECTOR.UPDATED - Added variable $SECTOR.PORT.BUILDTIME - Added variable $SECTOR.PORT.PERC_ORE - Added variable $SECTOR.PORT.PERC_ORG - Added variable $SECTOR.PORT.PERC_EQUIP - Added variable $SECTOR.PORT.BUY_ORE - Added variable $SECTOR.PORT.BUY_ORG - Added variable $SECTOR.PORT.BUY_EQUIP - Added variable $SECTOR.PORT.ORE - Added variable $SECTOR.PORT.ORG - Added variable $SECTOR.PORT.EQUIP - Added variable $SECTOR.PORT.UPDATED - Added variable set $SECTOR.TRADER[x].FIGS - Added variable set $SECTOR.SHIP[x].NAME - Added variable set $SECTOR.SHIP[x].SHIP - Added variable set $SECTOR.SHIP[x].OWNER - Added variable set $SECTOR.SHIP[x].FIGS - Added variable $SECTOR.SHIPS - Added variable set $SECTOR.BACKDOOR[x] - Removed variable $SECTOR.HASBACKDOORS (it was only in for testing) Version 1.07b: * Replaced the icon with something much better looking. * Rewrote telnet connection handling - it should now be much more stable, especially when using multiple clients off a single TWX server. * Rewrote half the script interpreter - it will now work much more efficiently and be much more stable in general. * Users connecting using LAN IP addresses will no longer be locked in view only mode. * Log files will no longer be recorded in 'chunks' of data, but instead will be saved by their date and the description of the database used. * Made format changes to the database - it now handles data much more efficiently and will be able to cope with later features. * Added binary search methods to variable data handling in scripts. Estimated script processing speed increase of roughly 400% (depending on script size). * Text will no longer be sent if there is an attached trigger to it. This makes it possible for users to attach their scripts to macros or keys for single-key activation. It also means scripts can have a much more flexible interface. * Added the ability for users to encrypt their scripts using ENCRYPT.EXE and distribute them without their script code being disclosed. * Removed support for the 'Text Received' script trigger in scripts - it can be handled much more efficiently with TextLineTriggers. * Fixed double-triggering problems with the 'Text Sent' script trigger. * Fixed all text concatenation problems in scripts using the '&' character. Added support for character references using the '#' character. * Setup changes will now be saved as soon as the OK button is clicked on the dialog - not when the program exits. People were having problems with their databases not being saved if the program errored out. * Added the 'systemscript' script command. This command prevents the script from being quick-terminated from the terminal menu. * Added the ability to set and clear program variables through the 'setprogvar' and 'clearprogvar' script commands. * Added a 'getdate' script command (acts in the same way as 'gettime'). * Script triggers can now be named according to variable references rather than static names. I.e. you could have a trigger named by the value held in $variable. * Script triggers can now have goto labels according to variable references rather than static labels. * Fixed multiple prompt displays when messages were received in the terminal. * Fixed a problem with values containing brackets in IF statements in scripts. * Fixed problem with view only locks on clients being disconnected * Added the ability to monitor connected clients by pressing the '-' key from the terminal menu. * Fixed a problem with the 'delete' command screwing up logging. * Fixed a problem with input text being broken up by incoming text from the server. * Fixed some line processing problems on server connection which were causing login scripts to mess up. * .ets files can now be quickloaded when renamed to 1.ets, 2.ets, etc * The auto-reconnect feature has been re-enabled. I'm convinced it was not responsible for earlier problems with TWGS. * Fixed a problem to do with IF statement structures in the scripting language - nested conditions with a certain sequence were causing bazzaire problems.