• Status: Solved
  • Priority: Medium
  • Security: Public
  • Views: 321
  • Last Modified:

problem with RGB color mode

Hi guys!! i'm having a problem with RGB color mode. in my computer (5x6x5) the game works pretty well, but on other computers (my friends') the color mode is said to be "not supported", i'm wondering why is that? here's the code i've been using in my program:

// get pixel format
     ddsd.dwSize  = sizeof(ddsd);
     ddsd.dwFlags = DDSD_PIXELFORMAT;
     if (FAILED(lpddsprimary->GetSurfaceDesc(&ddsd)))
          {WriteError("DirectDraw: Pixel Format not available"); return(0);}

     // get color type (5x5x5 or 5x6x5), we need only green value
     int g = ddsd.ddpfPixelFormat.dwGBitMask>>5; // throw 5 bits used for red
     if (g == 0x1F) color_type = _5x5x5_;          // 0x1F = 31 (5 bit)
     else if (g == 0x3F) color_type = _5x6x5_;     // 0x3F = 63 (6 bit)
     else
     {
          char buff[60];
          sprintf(buff,"DirectDraw: Color Mode not supported\n"
               "(Green = %d)", g);
          WriteError(buff);     // don't know what is the color mode
          return(0);
     }

i suppose there would be no problems detecting both 5x6x5 and 5x5x5, so it shouldn't give me the message "DirectDraw: Color Mode not supported" right? so what is wrong with it? is there any other color mode i've overlooked anyhow?

thanks in advance!!!

0
techpage
Asked:
techpage
1 Solution
 
CriusCommented:
Have you taken a look at dwRGBBitCount?

It's possible your friend's computer is not running in a 16 bit display (which is why you need to do a 5x6x5, or a 5x5x5 test).

If he is running a 24 bit or a 32 bit display, then the dwRGBBitCount will be 24 or 32. The code I'm reading should only be run if dwRGBBitCount is 16.
0
 
techpageAuthor Commented:
thanks, you're right... it is indeed the color depth, *sigh* i've been thinking it was the color mode all this time...
0

Featured Post

Never miss a deadline with monday.com

The revolutionary project management tool is here!   Plan visually with a single glance and make sure your projects get done.

Tackle projects and never again get stuck behind a technical roadblock.
Join Now