X-Git-Url: http://git.mutantstargoat.com/user/nuclear/?a=blobdiff_plain;f=src%2Ffreeglut_init.c;h=75908c980af8e794a7d055e8e8b2cd28c96b7395;hb=cb35752f171cdd1ee2319194c890d86bc6242259;hp=311526ec4fbb00db7519813860aa13bc65d6feed;hpb=41e63805080267e9dbd100d30deac6ba0b34678e;p=freeglut diff --git a/src/freeglut_init.c b/src/freeglut_init.c index 311526e..75908c9 100644 --- a/src/freeglut_init.c +++ b/src/freeglut_init.c @@ -230,13 +230,13 @@ void fgDeinitialize( void ) fgDestroyStructure( ); - while( (timer = fgState.Timers.First) ) + while( timer = fgState.Timers.First ) { fgListRemove( &fgState.Timers, &timer->Node ); free( timer ); } - while( (timer = fgState.FreeTimers.First) ) + while( timer = fgState.FreeTimers.First ) { fgListRemove( &fgState.FreeTimers, &timer->Node ); free( timer ); @@ -268,7 +268,7 @@ void fgDeinitialize( void ) fgState.ActionOnWindowClose = GLUT_ACTION_EXIT; fgState.ExecState = GLUT_EXEC_STATE_INIT; - fgState.KeyRepeat = GL_FALSE; + fgState.KeyRepeat = GL_TRUE; fgState.Modifiers = 0xffffffff; fgState.GameModeSize.X = 640; @@ -594,19 +594,14 @@ void FGAPIENTRY glutInit( int* pargc, char** argv ) } } - /* - * Compact {argv}. - */ - j = 2; - for( i = 1; i < *pargc; i++, j++ ) + /* Compact {argv}. */ + for( i = j = 1; i < *pargc; i++, j++ ) { - if( argv[ i ] == NULL ) - { - /* Guaranteed to end because there are "*pargc" arguments left */ - while ( argv[ j ] == NULL ) - j++; + /* Guaranteed to end because there are "*pargc" arguments left */ + while ( argv[ j ] == NULL ) + j++; + if ( i != j ) argv[ i ] = argv[ j ]; - } } #endif /* TARGET_HOST_WINCE */ @@ -683,23 +678,27 @@ void FGAPIENTRY glutInitDisplayMode( unsigned int displayMode ) /* -- INIT DISPLAY STRING PARSING ------------------------------------------ */ -#define NUM_TOKENS 28 +#define NUM_TOKENS 36 static char* Tokens[] = { "alpha", "acca", "acc", "blue", "buffer", "conformant", "depth", "double", "green", "index", "num", "red", "rgba", "rgb", "luminance", "stencil", - "single", "stereo", "samples", "slow", "win32pdf", "xvisual", + "single", "stereo", "samples", "slow", "win32pdf", "win32pfd", "xvisual", "xstaticgray", "xgrayscale", "xstaticcolor", "xpseudocolor", - "xtruecolor", "xdirectcolor" + "xtruecolor", "xdirectcolor", + "xstaticgrey", "xgreyscale", "xstaticcolour", "xpseudocolour", + "xtruecolour", "xdirectcolour", "borderless" }; static int TokenLengths[] = { 5, 4, 3, 4, 6, 10, 5, 6, 5, 5, 3, 3, 4, 3, 9, 7, - 6, 6, 7, 4, 8, 7, + 6, 6, 7, 4, 8, 8, 7, 11, 10, 12, 12, - 10, 12 + 10, 12, + 11, 10, 13, 13, + 11, 13, 10 }; void FGAPIENTRY glutInitDisplayString( const char* displayMode ) @@ -816,54 +815,66 @@ void FGAPIENTRY glutInitDisplayString( const char* displayMode ) configuration is slow or not */ break ; - case 20 : /* "win32pdf": matches the Win32 Pixel Format Descriptor by + case 20 : /* "win32pdf": (incorrect spelling but was there before */ + case 21 : /* "win32pfd": matches the Win32 Pixel Format Descriptor by number */ #if TARGET_HOST_WIN32 #endif break ; - case 21 : /* "xvisual": matches the X visual ID by number */ + case 22 : /* "xvisual": matches the X visual ID by number */ #if TARGET_HOST_UNIX_X11 #endif break ; - case 22 : /* "xstaticgray": boolean indicating if the frame buffer + case 23 : /* "xstaticgray": */ + case 29 : /* "xstaticgrey": boolean indicating if the frame buffer configuration's X visual is of type StaticGray */ #if TARGET_HOST_UNIX_X11 #endif break ; - case 23 : /* "xgrayscale": boolean indicating if the frame buffer + case 24 : /* "xgrayscale": */ + case 30 : /* "xgreyscale": boolean indicating if the frame buffer configuration's X visual is of type GrayScale */ #if TARGET_HOST_UNIX_X11 #endif break ; - case 24 : /* "xstaticcolor": boolean indicating if the frame buffer + case 25 : /* "xstaticcolor": */ + case 31 : /* "xstaticcolour": boolean indicating if the frame buffer configuration's X visual is of type StaticColor */ #if TARGET_HOST_UNIX_X11 #endif break ; - case 25 : /* "xpseudocolor": boolean indicating if the frame buffer + case 26 : /* "xpseudocolor": */ + case 32 : /* "xpseudocolour": boolean indicating if the frame buffer configuration's X visual is of type PseudoColor */ #if TARGET_HOST_UNIX_X11 #endif break ; - case 26 : /* "xtruecolor": boolean indicating if the frame buffer + case 27 : /* "xtruecolor": */ + case 33 : /* "xtruecolour": boolean indicating if the frame buffer configuration's X visual is of type TrueColor */ #if TARGET_HOST_UNIX_X11 #endif break ; - case 27 : /* "xdirectcolor": boolean indicating if the frame buffer + case 28 : /* "xdirectcolor": */ + case 34 : /* "xdirectcolour": boolean indicating if the frame buffer configuration's X visual is of type DirectColor */ #if TARGET_HOST_UNIX_X11 #endif break ; - case 28 : /* Unrecognized */ + case 35 : /* "borderless": windows should not have borders */ +#if TARGET_HOST_UNIX_X11 +#endif + break ; + + case 36 : /* Unrecognized */ fgWarning ( "WARNING - Display string token not recognized: %s", token ); break ;