Timothy the Knight said:
Yeah, that could present problems. But I think I've got a good answer.
We'd just have a single texture file that would be in use for every banner. This file would contain blank banners of different colours stacked on top of each other. Those who are familiar with image editing software call these
layers. Each charge would apply layer masks to the banner layers to create the shapes and colours of the final banner. Each separate banner would just have different layer mask information, which is a lot more resource efficient. A banner would really only consist of a string of code telling the game what to display and where.
Of course, I'm not exactly an expert in these matters. But if image editing software can pull this sort of thing off, it should be applicable to a game's texture files, right? Correct me if I'm wrong here.
Oh, I'm not an expert. All I've ever done is tinker with mods. Just speaking out loud from of how this might be implemented.
What you are proposing is sort of what I was saying.
Let me try to explain what I'm thinking. The editor would do something like the outline on the left. It has 10 mapping positions - four quadrants (I-IV) and six badge areas. (A-F). A heraldic banner editor would simply produce a string for those 10 positions.
The issue is the texture dds. That's on the right there. There are four items: two underlying blank quandrants (happen to be white in yellow in my DDS sheet, but that's not necessary as color can be defined in the process of mapping; they just have to be two distinct blank quadrants available on the sheet), a striped quadrant mask (happens to be green, but again color irrelevant, it will be defined via mapping), a fleur-des-lis group mask
So to construct a banner as in middle, here's how you'd go about it:
I - underlying yellow quadrant
II - underlying white quadrant
III - underlying yellow quadrant
IV - underlying white quadrant
A - left empty (no chief badge)
B - stripe mask (turned green in mapping)
C - fleur-de-lis group mask (turned yellow in mapping)
D - left emtpy (no central badge)
E - stripe mask
F - fleur de lis group
Or something like that. Does that make sense?
Now you could do anything - have a diagonals, etc. But all the masks & badges will have to be on a single sheet, AFAIK.
The only issue is user-defined positioning. I chose ten mapping areas. You could possibly add a few more positions. But user-defininition is going to be limited by the 10 positions. Unless in the string there is some 'adjustment' coordinates that "pushes" each of the badges (A-F) north/south/east/west to the extent the player desires. That only applies to the badges of course. It makes it a longer string, but I suppose that's feasible.
The 10 character banner string (or perhaps longer, if badge-coordinates are included) would then be as simple as the user-defined face.