I've finished the big chunk of improvement work for v2.0. From the readme:
Spoiler - Removed: BOSS Updater for manual installs. When an update is checked for and found on a manual install, BOSS will notify the user of the update and its download locations, but not download or install the update itself. Behaviour on installer installs is unchanged.
- Removed: iRunType ini setting, as it was unnecessary.
- Fixed: GUI mixing up Nehrim and Fallout: New Vegas in the Game drop-down box.
- Fixed: Saving a masterlist-format file no longer omits its conditionals. This bug was never exposed.
- Fixed: Conditional parsing errors not being reported correctly in the BOSS Log. This bug was never exposed.
- Fixed: Invalid regular expressions in masterlist-format files causing crashes.
- Fixed: Plugins with filenames containing international characters causing the GUI's User Rules Editor to fail to load.
- Fixed: Masterlist-format files beginning with blank lines will no longer create an initial empty item in their data structures.
- Fixed: Messages being outputted in the format set globally instead of the outputters local format. This bug was never exposed.
- Changed: Tidied up code, making better use of class inheritance and swapping Boost filesystem paths for strings in plugin names.
- Changed: Updated version of libcurl used from 7.23.1 to 7.24.0, and updated version of wxWidgets used from 2.9.2 to 2.9.3.
- Changed: GUI's User Rules Editor is now resizeable and the Installed Mods and Masterlist lists are now tabbed to give more space for them.
- Changed: BOSS no longer quits with an error message without sorting plugins when both Nehrim.esm and Oblivion.esm are present in the same Data folder, as this arrangement may be valid for modders porting mods, so long as Oblivion.esm remains inactive when Nehrim is run.
- Changed: BOSS update release notes are now displayed before the update download confirmation.
- Changed: Only a single instance of the GUI is now allowed to run at any one time.
- Changed: Pretty pictures now in the main readme! Also updated content to reflect various changes and additions.
- Changed: Rewrote NSIS installer to reflect various changes and additions, and simplified the installer code greatly.
- Added: Support for multiple games from a single BOSS install:
- BOSS now has two different install types: local installs place the BOSS folder beside a game's Data folder. Non-local installs place the BOSS folder anywhere else. Local installs will always run for the local game by default. Non-local installs will look for supported games and prompt the user to choose one to run for each time BOSS is run. If only one game is found, BOSS will run for it without user prompt.
- BOSS game files (masterlist, BOSS Log, etc.) are now stored in separate sub-folders within the BOSS folder for each game to avoid conflict.
- The --game,-g [ game ] command line parameter and corresponding ini and GUI settings now behaves slightly differently: when BOSS is run with the game not set to autodetect, and it is not set to only update the masterlist, the game parameter specifies the default game to run for. If the default cannot be found, BOSS falls back to autodetection.
- The Game drop-down list in the GUI has been moved to the Settings window.
- An Active Game menu has been added to the GUI that allows you to change which game BOSS is currently active for without closing the GUI. Undetected games are greyed out, unless the Update Masterlist Only run option is selected. If you have an undetected game active and switch from Update Masterlist Only to another run option, the BOSS automatically switches to the first detected game in the list.
- If the GUI is launched and no game is detected, only the Update Masterlist Only run option is enabled.
- Added: BOSS API. See BOSS API ReadMe.html for details.
Of course, I've still got a bunch of things I want to get done, but this marks a technically complete state: if I had to release a new version tommorrow, I could release this and it wouldn't be missing bits. As such,
I'm looking for people to beta test the changes made thus far. PM me if you're interested.Probably me being stupid, but is the plan to have BOSS installed in separate folder from any of the games so that there is a single executable that covers all installed games?
On the assumption that this is the plan, then I think BOSS should still be in a separate folder even if there is only one game installed. This would mean that when (if) another game is installed, you would not have to reinstall BOSS for the new game.
Also, will the Userlist, Masterlist and INI files be held in the BOSS installation directory (perhaps within folder names that match the games with which they are associated) or will they be stored within the games folder structure?
Will the old INI settings be applied to the new INI file or will preferences need to be applied after each install?
As always, many thanks for the continuing work you are doing on this invaluable utility.
Yes.
Good point, I'll have a think about it.
I posted the new directory structure earlier in the thread. Only one ini file, but masterlist, userlist, BOSS Log and modlists will be individual to each game, stored in subfolders of the BOSS folder.
Old ini settings will not be applied, since the entries vary between releases and I'd have to cover the complete history of entries if so.