Enable use of Capitals only - Text Traits

Appreciate everyone is trying to not add new stuff to Vassal 3.x, but.
I would like the ability to select capitals only for text traits. I have a couple of counters where I only want capitals - mostly because they are names of cities and similar. That and they stand out better given the available space.

{"my lowercase string".toUpperCase()}, or {InsertPropertyNameHere.toUpperCase()} will force the supplied string to upper case.

How does one incorporate that into the text trait ‘show this text’ box? I ask as I am about to go to bed and unwilling to launch vassal and module to experiment. Will advise later on re success or not.

As an aside, thank you for your input and probable solution. I do, however, remain wary of adding too much to the text trait that is not text or a simple $xxx$. Using expressions in a text trait does lead to problems, problems that can take ages to ‘calculate’.
However, as stated, I’ll give it a try and thanks.


Just using BasicName as a placeholder–swap for any property you wish. I have no idea what kind of performance impact (if any) will result in a module as vast as yours, though. If the number of pieces to which this applies is fairly small, maybe it won’t be bad.

Are these user update-able labels, or module pre-defined labels?

User/Player updateable. I would use all caps, if wanted, for module defined labels.

Just implemented the change to the text trait as so well described. Works a treat. I do not envisage too much hassle as the number of these ‘counters’ actually in use for a game would be 15 at most. (famous last words hopefully not applying) :slight_smile:

Many thanks for the solution, very much appreciated. Also learnt something new, that is always good.