b111
Changed some flags in GCATrait to use boolean states instead.
Had to perform some surgery on trait lists in Unified View to correct a logic error, and there and in Classic View to fix issues caused by some previous work and by the new boolean states.
There is an option to gray-out library traits for which the character hasn’t met the preqeqs. When this option is active, and a trait makes use of certain optional features, a crash could result. That should now be fixed.
I added the double-width option to the gear drop-down on trait boxes in Unified View.
Noticed there were some other oddities related to ctrl key combos in trait lists, so adjusted my copy/paste fix to fix that.
Traits pasted into character lists should now be selected.
I have created a small program called ‘thecleaner.exe’ that gets installed into the GCA5 system folder. When uninstalling GCA5, this program will be run to clean up the known source folders (\books\, \characters\, \images\, and \plugins\) in the *system folder only*. Without this, the update system might install new files to those folders, and they will not normally be removed by uninstalling, because the installer did not put them there. With this little program, each folder is fully removed, and no remnants should be left behind in the Program Files folder after an uninstall. Again, this *does not* delete anything from your Documents folder.
* Type Safety and Object Cleanup
Did a little more of this.
* Resync dialog
Rejiggered things to adjust better to resizing, and allow for it to be resized.
Removed some things from the dialog for which support was never added.
* Build Campaign Book dialog
I have hooked back up the Settings tab, and it now allows for changing many of the settings discussed in the last build.
You can choose whether or not to work with two groups of settings: Campaign and Rules. When saving the book to disk, GCA will only save the settings for the groups that you choose to include, but will include all settings from those groups.
Also updated some of the code so that deleting traits and changing libraries will work a bit better. Note that if you change libraries, any existing work on your book will be lost, so be sure to start with the right library.
* Updater
I have built a new system for packaging updates of the various files (books, images, etc.). This new packager ZIPs the changed files to reduce bandwidth requirements, and creates a manifest of all the files in the update.
Supporting the new ZIP files, GCA itself has been updated to download and extract the ZIPs before running the Updater.
The new system also considers an update ‘package’ to be the correct state of the GCA install files. This means that any files that GCA finds in the system folders that are not reflected by the new ‘state’ will be flagged for deletion by the Updater. (There are ‘bins’ of files, so an update can ignore all the Plugins, for example, and GCA won’t delete them; it knows they were ignored.) This very much reinforces that users should not change the files in the system folder.
This new process should allow us to make changes to the files included in the system folders, and not have outdated files left behind. It also means that files no longer being used can be deleted by the system automatically, without any additional work by those creating the update.
Note that GCA passes the file deletion requests to the Updater, so those will only happen if there is something else pending (file copying or new installer) that needs the Updater to be run.