DirectX is dropping color key support in favour of alpha blending, which is why you are having problems. It will still support black transparency (as you have seen) but has problems with other colors.
If you want to use color keying, just use black (0,0,0), or alternately, you can set up an alpha channel(s) on your bitmaps (though to be honest, I've found this is a royal pain in ass to do in practice. Not many paint programs allow you to directly work with alpha channels).
I don't see the problem with player colors. This doesn't require non-black color keys. To do this, you need one master image (the building) with black for all tranparent bits, as well as black for where the player colors will go. Then, you need one bitmap for the player color which, if you are clever and know what you are doing, can be black and white. The white part is where the player color will be draw, the black is transparent.
The steps you'd take, then, are to draw the player color bitmap, passing the player color as an argument to replace the white bits. Then draw over it the building bitmap. If you need specifics on how to set that up (Render states and texture stage states), let me know, we do something pretty similar.
Ron
If you want to use color keying, just use black (0,0,0), or alternately, you can set up an alpha channel(s) on your bitmaps (though to be honest, I've found this is a royal pain in ass to do in practice. Not many paint programs allow you to directly work with alpha channels).
I don't see the problem with player colors. This doesn't require non-black color keys. To do this, you need one master image (the building) with black for all tranparent bits, as well as black for where the player colors will go. Then, you need one bitmap for the player color which, if you are clever and know what you are doing, can be black and white. The white part is where the player color will be draw, the black is transparent.
The steps you'd take, then, are to draw the player color bitmap, passing the player color as an argument to replace the white bits. Then draw over it the building bitmap. If you need specifics on how to set that up (Render states and texture stage states), let me know, we do something pretty similar.
Ron
Comment