0.971 (28 May 2000) + Finally added a default icon for the DarkStep executable :-) * Fixed systray modules losing icons when recycled * Fixed a minor bug in DarkStep not storing the DarkStep directory properly in the registry + Added API calls for file, directory, color, font and icon selection dialogs * Fixed another API bug in the GetIcon function + Added the !Find and !FindComp !bangs to provide the find files and find computers dialogs 0.970 (12 May 2000) * Fixed old-style Popup menu compatibility being broken * Changed themable Console config info storage key to a seprate sub-key for themes * Put in a modified version of the default Console bitmap by courtesy of jugg (thanks jugg!) 0.970PR4 (10 May 2000) * Fixed the Unload button under Loaded Modules not updating the module list when a module was unloaded * Fixed the Load button under Loaded Modules giving an error message after successfully loading a module + Added !Config and !Modules which gives direct access to the Configuration and Loaded Modules dialogs * Fixed DarkStep crashing on !logoff and !quit + Added an auto load/unload option that would load/unload modules when the module list is changed * Fixed (hopefully ) dialog boxes giving weird error messages under W2K when you try to load non-existent modules 0.970PR3 (06 May 2000) * Fixed the Console edit window size not dynamically changing when the Console size is changed + Added an option to auto-save the Console position (thanks for the suggestion jugg ) * Fixed !banglist crashing DarkStep due to the new ATL implementation * Fixed !script crashing DarkStep due to the new ATL implementation 0.970PR2 (03 May 2000) * Fixed !bang commands registered by any LS module not working * Fixed the "Loaded Modules" dialog causing DS to crash when no modules were loaded (thanks for finding this bug and all your excellent suggestions jugg!!) * Changed the Console code so that any setting changes would take effect immediately * Fixed minor Console editing annoyances such as not being able to use left/right arrow keys 0.970PR1 (28 April 2000) * Fixed DarkStep crashing when run on top of Explorer * Changed the API calls that gets a setting from the registry so that it will accept a default value * Rewrote the COM stuff so that it would be compliant with the COM standards (Thanks Don Box and "Essential COM"! ) * Fixed error messages when running the Import/Export options under Win9x + Added a COM event dispatcher to the !bang manager so that modules could receive notifications about events such as the execution of !bangs + Added a new !bang format which would take of the COM event dispatcher * Changed the core !bangs to take advantage of the new event dispatcher - Removed all the message handling from DarkStep.exe + Added a new message handler routine to the COM objects * Consolidated all the different COM objects into one core COM manager * Changed the file open dialogs used by the GUI config to remember the last opened directory for the current session 0.969 (21 April 2000) - Public Beta Release + Added new functions to read and write values from the registry + Added installation options that query the user about setting DarkStep as the shell the first time it is run + Completely revamped the core functionality so that everything is configurable via a GUI + Added the ability to Import and Export DarkStep settings stored in the registry + Added a GUI module manager that allows you to load/unload/recycle modules - Removed the !recycle !bang as well as the ability as there is no necessity for core recycling any longer 0.968 (14 April 2000) - Internal test build * Converted the ActiveScripting engine into another COM object - Removed the COM server 0.967 (14 April 2000) - Internal test build + Added another COM object to function as a !bang manager + Added a configuration manager COM object to store and transfer global settings 0.966 (04 April 2000) - Internal test build + Added a local COM server to DarkStep.Exe which would load other DS COM objects - Removed all module loading functions + Wrote a new module manager COM object which handled all of the DS module loading * Moved certain functionality such as global status values and DS, Step.Rc and Image paths to the COM server 0.965 (03 April 2000) - Internal test build * Fixed a bug in the !minimizewindows and !restorewindows commands due to the new multi-threading code + Added a new !bang method which allows !bangs to be executed across threads (necessary for multi-threading modules) * Changed all internal !bangs to use the new !bang format so that internal !bangs could be called from an external program if necessary (useful for auto-updaters that need to make DS quit) * Fixed a bug in ExpandVars that would include the quotes for e-vars with quotes around them - Removed many internal !bang functions as they are obsolete with the new !bang structure 0.96 (13 Mar 2000) * Finally found and fixed the memory leak * Cleaned up the ActiveScripting code + Added several new functions to the GDI API to make module coding and skinning much easier 0.958 (18 Feb 2000) - Never publicly released due to memory leaks + Added an ActiveScripting engine which would allow scripts written in any ActiveScripting language to be run * Split up the API into three different files - Core, GDI, Misc - in anticipation of open sourcing part of the API 0.95 (26 Jan 2000) + Added completely new set of API calls which makes the creation and handling of windows and other shell functions much easier + Added basic IPC functionality so that modules in a separate thread can get shell data + Added a WM_COPYDATA message handler to the core so that modules in other threads can pass data to the core (mainly to ensure that message handling still works in a mulithreaded enviorenment) * Changed module loading code so that it can load modules either into a separate thread or the current thread 0.92 (15 Dec 1999) - Never publicly released as there was a memory leak * Recoded most of the DarkStep console + Added options to specify the background image, positioning, size, borders, font and font size for the console + Added an option to auto-close the console after executing a command * Changed the console command parsing so that you can string several commands together separated by ^ to be executed + Added a GetDesktopWin() function to DSAPI that gets the desktop window handle + Added a GetThemeFile() function to DSAPI that gets the correct theme file and reverts to Step.Rc if none is found + Added options to specify word wrapping and foreground and background colors for the console 0.914 (10 Dec 1999) * Changed the CmdExec function so that it would ignore null commands, parse multiple commands separated by ^ and work with quoted strings (specifically to work with desktop.dll 2.0) 0.913 (04 Dec 1999) * Changed the Tokenize function so that it doesn't go mad during run time for some strang reason with colors 0.912 (03 Dec 1999) + Added the option to confirm whether to load each module if you press F8 at startup + Added a command line option of -ask for the above option + Added a graphic to the About dialog box + Added a new !bang command - !BangList that displays all registered !bang commands * Changed the splash graphic * Changed the DSAPI Tokenize function so that there is no memory allocation problems 0.911 (21 Nov 1999) * Fixed a memory leak in the windows list code * Removed unnecessary code from the systray saving code at recycle 0.91 (18 Nov 1999) - First Public Beta * Changed the RCReadColor function so that it would read in only RGB values (it was reading in BGR for hex values) * Added a new StrDequote function to remove quotes from string values read in by RCReadString * Fixed the startup folder items not loading at start up + Added a little code to fix Maduin's systray.dll icons disappearing during recycle 0.909 (16 Nov 1999) - Final Private Beta + Added a PatternMatch function to DSAPI to complement the match function in the LSAPI that is needed by lsVWM, SysVWM etc. ! The PatternMatch function currently finds only substrings. Wildcard matching has to be added. Sticky window identification in the VWM's will be minimal for the present. * Fixed a problem with Step.Rc reading that would botch up things with .extract lines 0.908 (14 Nov 1999) - Eighth Private Beta * Changed the code so that e-variables were expanded everywhere that stuff was read from the Step.Rc * Separated the version info in the About dialog into multiple lines * Changed the API in several places so that core LiteStep modules would load and work with DarkStep and tested Popups, Shortcuts, Wharf and Hotkey to make certain that they did work ! Popups receive focus only for the main popup - have to check into that 0.907 (11 Nov 1999) - Seventh Private Beta * Fixed a bug in the RCReadColor API function which would cause a crash sometimes but not all the time * Fixed a mem leak in the RCReadColor function + Added several wrapped API functions to LSAPI so that core LS modules would work: LCOpen, LCClose, LCReadNextConfig + Added support for e-variables via the Step.Rc [Environment] section 0.906 (09 Nov 1999) - Sixth Private Beta - Removed the logging of multiple keyword parsing as the bug is fixed * Changed the module loading code so that Maduin's systray.dll would load once more 0.905a (08 Nov 1999) - Bug Track Release + Added a log function to log the parsing of multiple LoadModule lines in order to track down the continuing bug in reading muliple LoadModule lines * Used memmove instead of memcpy in parsing multiple config file entries with the same keyword 0.905 (07 Nov 1999) - Fifth Private Beta * Fixed RCReadValues once again as the terminating null character for a string of values with the same key name wasn't being inserted properly in certain cases * Fixed a bug which had crept into the LSAPI wrapper which was preventing the LoadLSImage function from being exported and thus was preventing all modules that called upon that function not to load * Fixed a bug in the GetRCString function which was causing crashes * Fixed the console not getting focus when it is invoked for the very first time + Added an About dialog via a bang command named !About + Added a splash screen which could also be invoked via !Splash ! The about box bunches up all the version stuff in one line - separate them into multiple lines 0.904 (06 Nov 1999) - Fourth Private Beta * Fixed the RCReadValues function again as my approach of inserting a null to separate values works fine as long as there are only two keys with the same name but not more. 0.903 (04 Nov 1999) - Third Private Beta * Fixed a problem with RCReadValues which didn't function properly when there were multiple keys with the same name in a section - the problem was with C++ removing terminating nulls while doing a string copy 0.902 (28 Oct 1999) - Second Private Beta * Fixed a problem with the LSAPI wrapper which was looking in the wrong section for LS config info 0.901 (26 Oct 1999) - Interim Build * Fixed window list not being created at start-up and thus !MinimizeWindows & !RestoreWindows not working * Fixed console window not gaining focus when invoked 0.90 (24 Oct 1999) - First Private Beta + Working copy with bangs, console and window list manager and API ! Splash screen and About dialog not working key : + Addition - Removal * Change, fix ! Non-working, to be added, caution