You shouldn't force graphics cards into a certain bitdepth. If you're planning on other people playing your games then you need to account for those people that may not have a card capable of 24/32 bit graphics. Probably not that many around here, but there will be plenty in the general public.
There are commands to check whether someone's card is capable of a certain screen resolution and bitdepth, but you can't simply tell those people with 16 bit cards that they can't play your game.
To get around it at the beginning of your code write the various colours you need to do a specific check for to a temp image (after graphics mode has been set). Then use GetColor to read it back and store in variables for use later. Then all you need to do is check for those stored values rather than hard-coding it.
For example in one of my early programs it wouldn't set the mask colour correctly when loading in sprites. So, I used the GetColor command to read the top left pixel of the animstrip knowing that this would be the mask colour. I then used this to set the right mask colour. Hence it now works in every bitdepth.
Hope that helps.
There are commands to check whether someone's card is capable of a certain screen resolution and bitdepth, but you can't simply tell those people with 16 bit cards that they can't play your game.
To get around it at the beginning of your code write the various colours you need to do a specific check for to a temp image (after graphics mode has been set). Then use GetColor to read it back and store in variables for use later. Then all you need to do is check for those stored values rather than hard-coding it.
For example in one of my early programs it wouldn't set the mask colour correctly when loading in sprites. So, I used the GetColor command to read the top left pixel of the animstrip knowing that this would be the mask colour. I then used this to set the right mask colour. Hence it now works in every bitdepth.
Hope that helps.