The latest Cactus 2.3.0 is now available! There are some major architectural changes that I've been wanting to make for many years and now they are complete. The main focus is primarily the centralized and shared "Diablo II Root Directory" setting which will be re-used for all of your platforms, ensuring a consistent and stable experience without burdening you to keep re-typing the full Path every time you add a new entry. New entries now only require you to tell it what Launcher you want to use (Game.exe, Alpaca.exe, Etc), and the "Diablo II Root Directory" setting will automatically be re-used to build the path to those launchers and also the paths to your Platforms and Saves directories as well.
For most (if not all) existing users, this migration should be seamless. Cactus will automatically migrate your existing files to the new format and you should automatically have your "Diablo II Root Directory" setting automatically derived from your existing entries (Which have all been having path validation checks to make sure that the root directory path was consistent in the first place!), and each of your entries will also automatically have their "Launcher" set to whatever you had it before as well.
There is also a new OOTB experience to guide new users on where to start with Cactus. There's also a new integrity system as well that can detect early on if your Cactus files can even load, and it will take appropriate actions if needed.
There are also a few bug fixes, including one regarding some simple (but not good) whitespace vs null behavior. Cactus will also run this "" -> null conversion fix automatically after the migration logic is done.
As always, you can Download Cactus at the mentioned link. Make sure to backup your Diablo II directory before moving forward just in case. Let me know if y'all experience any issues.
Out Of The Box (OOTB) Experience
Shared Diablo II Root Directory Setting
Pre Migration Message
Migration Successful Message
Launcher Only Needed for Add/Edit Entries
There's also a Migration Failure message as well that I didn't take a screenshot off .
- New Out Of The Box (OOTB) Experience
New users will be greeted with a welcome message that will help guide them in the right direction.
- New Shared Diablo II Root Directory and Launcher Configuration
Since the beginning of Bliss Version Switcher (Before Cactus), Whenever you added an entry, you would need to always type the Full Path to where your Launcher was located in your Diablo II Root Directory. The code would also verify that all of your entries maintained a consistent root directory, and the Copy button was a way to ease the burden of a user having to do this. However, this is no more. With the new system, you specify the "Diablo II Root Directory" once in your Settings window, and it will be automatically re-used for all of your Entries. Thus, whenever you add a new platform, all you need to worry about is what launcher you wanna use ("Game.exe", "Alpaca.exe", etc). This eases the mental burden on the user and massively increases stability while also enforcing this idea by design.
Existing users will automatically be migrated to the new format so you won't need to do anything on your part unless there is an error. Although I believe everyone will be migrated successfully. You will get a corresponding Welcome message that let's you know that your files are going to be migrated, and also shows you a message when the migration succeeds or fails, and provides the relevant information.
- New Cactus Files Integrity Check System
Cactus will now validate all of its configuration files on load and will make sure that it can load them. If it can't, Cactus considers that as a corruption and will move your existing Cactus files to the same name with a ".bak" extension (So that you can inspect them if needed and try to fix them), thus emulating an automatic fresh installation. A helpful message will be displayed mentioning the corruption and will also display which file was problematic and what the exact error was. Cactus will then shutdown. If you fix your files, you can try and load them back up after renaming them by removing the ".bak" extension, but if you decide to just say "screw it", you can just re-run Cactus immediately and you will be in a fresh install state and will get the new OOTB Experience.
- Lots of internal stability and safety improvements.
- Some minor UI improvements.
- Fixed a bug where copying an entry with a label and then editing that new entry so that it doesn't have a label was saving that label with an empty string ("") rather than null. This caused problems because it allowed that same entry's now blank label to be re-edited which would cause problems since this is suppose to be specifically prohibited for safety reasons.
Cactus will automatically run a fix to convert any "" labels you have into null. This happens after the migration introduced in this change and will only happen during this migration scenario since there is only a subset of existing users that are probably affected given the amount of time the new Cactus 2.2.0+ releases have been available.
- Fixed a bug where Labels (and previously Paths) weren't being checked for illegal characters.
- Some other bugs were fixed due to the new Cactus Files Integrity Check System.