Well, what I did then was simply extending what was already there without making too invasive changes. You (or randy, or anyone else) had plenty of time (cca 3 months between the release of 2.0.98x and inclusion of the player class code in r250) to review the code and/or make any necessary changes. You even could throw the code away and don't use it at all. It was your decision, and I never was an official ZDoom developer, so don't blame me.
Graf Zahl, in this thread wrote:
However, and here lies the problem, Grubber used the 'display'names for purposes other than just displaying them so I have 2 choices now: Either risk breaking a handful of mods or leave it as it is which means that player class displaynames cannot be stringtable references.
You got it wrong. I didn't use displayname, it didn't exist before I added it. The code it evolved from already used it for purposes other than displaying names, before I touched it. What I did wrong was naming the property displayname, it should have been playerclassname or something like that.
I've attached the original patch so you can see for yourself that I didn't change any of the logic (at least not on purpose), just generalized it. Most of the code is actually definition of the new actor properties, addition of the properties to the decorate parser and changes to the menu (and even there I followed the original code as closely as I could).