[AD] Color depth selection in grabber |
[ Thread Index | Date Index | More lists.liballeg.org/allegro-developers Archives ]
Hi, On SourceForge, I have submitted a patch (also available below) which slightly changes the way the grabber chooses a color depth. It had recently been changed to first set a mode use GFX_SAFE, and if that failed, to try specific color depths. On DJGPP, at least, this results in a 640x480x8-bit mode, which is not good when the graphics card can support 640x480x32-bit, for instance. The patch I have submitted changes this behaviour so that the grabber first tries GFX_AUTODETECT with 32,24,16,15, then 8 bpp, and then tries GFX_SAFE, which seems more logical to me. If there is any reason to keep it the other way around, let me know; however, we will need to do something to ensure grabber gets the best color depth (32bpp is more useful than 8bpp for a tool which manipulates different palettes...) Here is the patch: ------------------------------------------------------------------------ --- c:/home/cvs/allegro/tools/grabber.c Wed Dec 13 04:25:00 2000 +++ /allegro/tools/grabber.c Thu Dec 21 09:33:58 2000 @@ -3037,16 +3037,15 @@ ret = set_gfx_mode(GFX_AUTODETECT, w, h, 0, 0); } else { - ret = set_gfx_mode(GFX_SAFE, w, h, 0, 0); - if (ret != 0) { - for (i=0; color_depths[i]; i++) { - bpp = color_depths[i]; - set_color_depth(bpp); - ret = set_gfx_mode(GFX_AUTODETECT, w, h, 0, 0); - if (ret == 0) - break; - } + for(i=0; color_depths[i]; i++) { + bpp = color_depths[i]; + set_color_depth(bpp); + ret = set_gfx_mode(GFX_AUTODETECT, w, h, 0, 0); + if (ret == 0) + break; } + if(ret) + ret = set_gfx_mode(GFX_SAFE, w, h, 0, 0); } if (ret != 0) { ------------------------------------------------------------------------ Hope I got the formatting right. Bye for now, -- Laurence Withers, lwithers@xxxxxxxxxx http://www.lwithers.demon.co.uk/
Attachment:
signature.asc
Description: PGP signature
Mail converted by MHonArc 2.6.19+ | http://listengine.tuxfamily.org/ |