Loading a character should no longer spit the character’s load-log into the Info pane.
Altered the library loading of system traits to make duplicate x() tags merge their list values when duplicates are found, rather than the standard behavior of replacing values. There is a lot of ‘dirty’ data in the data files where these tags are duplicated to add additional info, and in the case of the x() tag, this was passively allowed in GCA4 (due to it finding the #directives anywhere in the tag data, regardless of duplicate tags). Due to GCA5 actively refusing duplicate tags during the loading process, the duplicate data for the x() tag is lost, so the old, forgiving way does not work now. This new merging behavior should allow the multiple x() tags to work in GCA5 by merging all the duplicate data into a single x() tag. This means that a number of ‘wizard’ type traits, such as the various skills starting with _, and of type %typelist, will now work as intended again.
Also altered library loading of page() to merge values.
The changes to Library loading of system trait x() and page() tags necessitates rebuilding FastLoad files, so the FastLoad version has been changed. Your FastLoad files will be rebuilt as a result.
Updated the code in the Classic View character trait lists so that double clicking the column headers will allow you to turn back off the OrderedBy status. That is, double-clicking will cycle through Ascending, Descending, and Off. Off will restore the list display to the standard order.
Updated the Classic View character trait lists so that adjusting the points/level/cost of traits will preserve their OrderedBy status within the list–rebuilding the list to show the updated order as traits are incremented or decremented. (Note that this may not be entirely desireable when you have a giant list of items, but it works reasonably well for moderate or small lists.)
Updated the Compact View trait boxes to allow double-clicking on the column headers to order the box contents, as in Classic View. Note that the Compact boxes will not re-order the display while adjusting values, unlike Classic View, because the boxes allow for adjusting directly on the trait line itself, and it’s rather annoying to have the interaction area jump to another part of the box while you’re trying to use it.
Changed the sort order markers in trait lists to always be small triangles, although it’s possible to choose between gray (the default), red, and yellow markers. This selection is still by right-clicking on the headers in Classic View, and is now on the box’s option menu (the gear icon) in Compact View. Each marker selection is individual to the type of items. You can also set them in the Colors & Layout dialog.
You may now drag and drop traits from the Library panel onto trait boxes in Compact View, to add them to the character. Any type of trait may be dropped onto any trait box, but they’re added only to the appropriate box. You may now also drop traits onto the sheet area of the Sheet View to add them to the character.
You may now drag and drop traits from the Library list to the Character list in the Classic View.
You may now drag and drop to rearrange the order of User Ordered Layers in the Armor Layers Manager.
The Colors & Layout dialog has been upgraded. It now uses the correct boxes for each box type, and will use sample data from the current character (or from a system sample character, if no other character is loaded). You can also drag and drop the box names within the list box to reorder them, instead of having to use the up and down buttons.
You can now elect to manage the ordering of your character’s traits yourself, if you turn on User Trait Ordering in Options > Current Character Options. When in this mode, traits are shown in the order they are added to the character, but you can drag and drop the traits into new positions in the various trait lists. [Plug-ins note: If you want to implement display support for this feature, check the AllowUserTraitOrdering property, and if True, access traits with either DirectItem(Index as Integer) instead of Item(Index as Integer), or use the new Item overload Item(Index As Integer, DirectAccess As Boolean).]
The OrderBy system in the SortedTraitCollection has been adjusted. [Plug-ins note: If you change OrderBy, it will automatically rebuild the ordered list. However, calling OrderBy if the OrderBy string has not changed will not trigger an OrderItems rebuild. You should still call OrderItems to rebuild the list as necessary if you’re ordering by something that changes, such as points or level, but there’s no need to call OrderItems when new items are added to the collection otherwise, as they’ll be inserted into the ordered list as items are added to SortedTraitCollection.]