view build-scripts/updaterev.sh @ 5043:da347bfed240

Florian Forster to sdl in SDL 1.3 (revision 5508 from SVN), the method used to calculate the bits per pixel from a “int format” differ between “SDL_ListModes” (which always uses the “SDL_BITSPERPIXEL” macro) and “SDL_PixelFormatEnumTo- Masks” (which uses either “SDL_BITSPERPIXEL” or “SDL_BYTESPERPIXEL * 8”, depending on the value of “SDL_BYTESPERPIXEL”). Because the values are later compared in “SDL_ListModes” this may lead to some valid video modes not being returned. In my case the only mode returned by “SDL_GetNumDisplayModes” was dismissed and NULL was returned. (This led to the calling application sticking its head in the sand.) The attached patch copies the method used within “SDL_PixelFormatEnumTo- Masks” to “SDL_ListModes”. This solved the problem for me though I don't fully understand the method used by “SDL_PixelFormatEnumToMasks”.
author Sam Lantinga <slouken@libsdl.org>
date Wed, 19 Jan 2011 16:06:47 -0800
parents e99358ca7a8d
children
line wrap: on
line source

#!/bin/sh
#
# Generate a header file with the current source revision

cd `dirname $0`
srcdir=..
header=$srcdir/include/SDL_revision.h

rev=`sh showrev.sh`
if [ "$rev" != "" -a "$rev" != "hg-0:baadf00d" ]; then
    echo "#define SDL_REVISION \"$rev\"" >$header.new
    if diff $header $header.new >/dev/null 2>&1; then
        rm $header.new
    else
        mv $header.new $header
    fi
fi