When I set my app to Color Reduction, what does it convert the images to, what is the converted color depth, etc?
Thanks

Generally it is half the color quality.
It goes from 16.777.216 colors down to 65.536 for images with no alpha channel. This should not be much of an issue in most cases though. Best is to leave color compression ON by default and only disabling it on the objects where you see any noticeable loss of quality.
The amount of different shades you can describe with N bits is 2^N.
Without color compression:
A 24bit RGB (R8G8B8) image can therefore contain 2^24 shades = 16.777.216 colors
A 32bit RGBA (R8G8B8A8) image can contain 2^32 shades = 16.777.216 colors * 256 shades of alpha
With color compression:
No transparency RGB: (R8G8B8) -> (R5G6B5) 65.536 colors
Transparent color RGB: (R8G8B8) -> (R5G5B5A1) 32.768 colors * 1 shade of alpha (opaque or completely transparent)
Alpha channel RGB: (R8G8B8A8) -> (R4G4B4A4) 4.096 colors * 16 shades of alpha




Does it intelligently choose which colours to keep or does it have a pre-defined palette of colours which it uses?
That is to say, if my object has 60,000 colours does that mean that my image will actually look the same, every time? Or does that mean that some of the colours will be removed?
Andos very good explanation, thanks ...

It is not palletized, it will uniformly remove colors over the entire spectrum. For example you might be able to notice it when you have large gradients that go from two colors somewhat close to each other.
I should probably make some comparisons for people to see.
One nice example: The original Zeb game was only 256 colors, you could use all the color compression on that game without ever loosing any color quality as it was already using colors that exists in the reduced set of colors.
If you want to know if a certain color is in the set, you can again do a little math:
A color compressed channel can either use 4,5 or 6 bits (depending on the format).
That means that there can either be 16 shades, 32 shades or 64 shades. That value will then be mapped into the [0..255] range on the screen.
I made a small 1 minute MMF2 app to give me the values:
Possible values for a 4bit channel:
Possible values for a 5bit channel:Code:0 17 34 51 68 85 102 119 136 153 170 187 204 221 238 255
Possible values for a 6bit channel:Code:0 8 16 24 32 41 49 57 65 74 82 90 98 106 115 123 131 139 148 156 164 172 180 189 197 205 213 222 230 238 246 255
So if an image gets compressed into a R5G6B5 format, you can find the possible red values in the second table, the green values in the third table and the blue values in the second table.Code:0 4 8 12 16 20 24 28 32 36 40 44 48 52 56 60 64 68 72 76 80 85 89 93 97 101 105 109 113 117 121 125 129 133 137 141 145 149 153 157 161 165 170 174 178 182 186 190 194 198 202 206 210 214 218 222 226 230 234 238 242 246 250 255




That makes sense Andos. I'll keep it in mind. Thanks!