Monthly Archives: November 2020

Rebuilt the update bits (b125)


* Miscellaneous

Updated my BBCodeSurfaceEngine with a PlainText function, which returns the text stripped of the BBCodes.

Updated MiserBBCodeLabel with a PlainText function, and now use the PlainText as the AccessibileName of the control.

Added some image features to MiserOptionsBlock, and updated MiserWarningLabel’s image features a bit.

* Updater

I have created a new Updater system. Things may be a little rough, still, but it looks to be working mostly as intended. The system is a couple parts: a Package Builder and a Package Updater.

The Package Builder is currently working well enough as a tool for me and/or Eric, to create packages of files for required or optional updates.

The Package Updater is the piece that will do the hard work of checking for and installing updates. It also provides access to the selection of Optional Packages that may be installed by users if they want them. This actually includes two EXEs, the PackageUpdater, which does the work of evaluating, downloading, and unzipping; and PackageUpdaterElevated, which just operates as an elevated permissions copybot to move the files to their destinations, or deletes files and folders for packages that are being uninstalled.

This system, which is mostly separate from GCA, makes it much easier to manage. It’s still missing some features that might be nice, and working with it is a bit clunkier for the end user than before, I think, but I also think the general operation, and ability to maintain the packages, is far simpler and easier.

So, GCA is now updated to work with this new system. I have also removed some files from the standard installation and turned them into Optional Packages instead. Be aware that you may suddently be missing things that you had before, if you used Eric’s images, 3rd Edition files, or my Color Block Sheet. Be sure to Check for Updates, and click the Optional Packages tab, to select and install those features!

* Plugins

I have updated the ComponentOne components, which may result in your compiled plugins needing to be recompiled.

Tightened some slipped bits (b124)


If multiple locations were specified for a piece of armor, and those locations overlapped (such as ‘full suit’ and ‘neck’), GCA5 threw an exception and died. Instead, locations specified later in the list are supposed to apply more specific armor values. For example, location(full suit, neck) and dr(4/2) should apply ‘4/2’ to all locations covered by ‘full suit’ and by ‘neck’, even though ‘neck’ is covered by ‘full suit’ and the DR is the same; if instead that dr() tag was dr(4/2, 1) then locations covered by ‘full suit’ should all get the ‘4/2’ value, while ‘neck’ should only receive the ‘1’ value. This should now be fixed.

Armor with multiple locations was also counting each location as another layer. That is now fixed.

Added entries for postformulacost, postformulaweight, prechildrencost, prechildrenweight, preformulacost, and preformulaweight to the tagdefs.xml file.