Found and fixed an issue where GCA was not correctly tagging plugin controls found in the user’s plugins folder as controls.
Forgot to have GCA save/load the setting for gutter widths. Now it does.
Fixed the drawing code for character lists so that it no longer overrides the selected item color with the ‘touched’ color if ShowMeDirty is on.
Made some adjustments to the internal MiserOptionsBlock control to improve performance.
Added the EncumbranceMoveAdjustment() function to GCACharacter. This returns the current adjustment factor based on the current encumbrance level, as a math string. For example, at encumbrance level 1, Light, it returns “* 0.8”. These are currently fixed, but the plan is to allow them to be set by campaign settings or data files in the future. You can also request this text value from the character’s tagitem() function using any of these tags “encumbrancemovefactor”, “encmoveadj”, “encmovefactor”, or “encumbrancemoveadjustment”.
Many, many builds ago we added support for the drnotes() tag, to include non-mode-specific notes about the DR of an item, as is often used for split DR to explain how to use the second value. I did not implement support for displaying the DRNotes anywhere in the UI, and over time I simply forgot to go back and do that. I am doing that now.
The Protection box on unified has been updated to display DRNotes in its lists when appropriate. It has also been updated to resize its lists a little less jankily, and to support displaying info in the Info display for the currently selected protection item.
The Protection box has been updated to allow double-clicking a list item to launch Edit.
Broke out some of the stuff in Loadout calculations into separate routines to make maintenance easier.
Found an error in book file processing where a new body definition did not correctly replace an already loaded one with the same name.
I’ve made the Resync dialog rememeber its positioning, and changed the text slightly.
After GCA4 characters are loaded, GCA will now pop up Resync dialogs for those characters.
Added a new line to the Party tab explainer about the experimental and unfinished state of the tab.
Fixed a crash-bug in the character card designer for the Party tab.
The Edit dialog will now display location, DR, and DB values in an Armor block for traits with DR or DB.
* Loadouts and Armor
I believe I have the first experimental handling of complex split DR working. I implemented it based on the idea of the split DR looking like 7/19pi/19cu/5bu/5cor/3cr.
The new process within GCA will take that type of value for all applied armor and it will combine like protection types when armor stacks, and use untyped protection where no like-type protection is found.
I decided on this method as being the most direct, easiest to understand, and simplest to expand. GCA will happily type any text that follows a number in the DR splits, so you could add ‘cosmic ray’ protection or ‘ghost’ protection or whatever. (If I was to expand this to DB as well, you could have something like reflec armor that provides DB versus lasers but nothing else, for example.)
Right now, most split DR is simply listed as two untyped values. That’s not helpful to this process, so GCA will label the second of the two untyped values as ‘[note]’ and proceed from there as above. The user can edit the split to reflect the intended damage type and get the proper handling, or leave it since ‘[note]’ tells them it’s for the type mentioned in the armor’s DR note–but that may result in incorrect combinations of ‘[note]’ values if they weren’t meant to be the same type.
* Protection dialog
The armor and layer lists have been updated to display DRNotes when appropriate.
Added a note that is shown when stacking rules prevent the application of some values from Deflect or Fortify to location.
Added an explainer to the Armor & Shields tab to explain that you have to uncheck the Always auto-calculate box and also deselect all armor in the Apply Armor list in order to enter your own protection values, instead of having GCA calculate them.
I’ve added a checkbox to allow the protection image to be scaled to fit the display area.
I have updated the protection image display and refresh code. It should be smoother now.
I have updated the location boxes displayed on the protection image to something I think is much nicer. These boxes will also display little icons when there are issues with layers, or with Deflect or Fortify stacking.
Color Block Sheet updated to print DR Notes in the protection display.
I haven’t figured out a good way to update the Official sheet yet.
I adjusted the GetProtectionPaperDoll() function to include a line break before DB if DB is included in a box value.