Geoset question

Hi,

Just trying to get my head around this concept. I’m interested in making a very small rpg one day and would really like the ability to swap armor. I know about wow’s method (a little) that uses the same meshes mostly and just swaps textures. But when viewing the textures, they all seem to be on the same image. That’s ok for the base texture but when i swapped out the pants for instance, that shows up on the image like it was painted there all along.

Surely there is not an image for every possible armor configuration that would be ludicrous. I’m not much of a programmer at the moment but i’m very experienced with modeling and texturing, mostly for movie assets which is completely different than game and its got me stumped.

Can someone shed some light and maybe point me in the direction of a tutorial? I’ve posted the picture below so you can see the difference.

Usually big company uses a lot of in-house tools that does the secret job behind.
For this case. I guess maybe they can access multi-layered file and toggle it on / off?
Or perhaps a shader which can add some alpha images on top of base texture?
Seems like they are using an in-house compression algorithms package called MPQ.
Maybe the job is done inside there?