rem: NewDriver = (opts->res == OPTVAL_ALWAYS_GL ? TFB_GFXDRIVER_SDL_OPENGL : TFB_GFXDRIVER_SDL_PURE);
add: NewDriver = (opts->driver == OPTVAL_ALWAYS_GL ? TFB_GFXDRIVER_SDL_OPENGL : TFB_GFXDRIVER_SDL_PURE);
context: SetGlobalOptions (GLOBALOPTS *opts){	int NewGfxFlags = GfxFlags;	int NewWidth = ScreenWidthActual;	int NewHeight = ScreenHeightActual;	int NewDepth = ScreenColorDepth;	int NewDriver = GraphicsDriver;	NewGfxFlags &= ~TFB_GFXFLAGS_SCALE_BILINEAR;	NewGfxFlags &= ~TFB_GFXFLAGS_SCALE_BIADAPT;	NewGfxFlags &= ~TFB_GFXFLAGS_SCALE_BIADAPTADV;	NewGfxFlags &= ~TFB_GFXFLAGS_SCALE_TRISCAN;	switch (opts->res) {	case OPTVAL_320_240:		NewWidth = 320;		NewHeight = 240;#ifdef HAVE_OPENGL	       		NewDriver = (opts->res == OPTVAL_ALWAYS_GL ? TFB_GFXDRIVER_SDL_OPENGL : TFB_GFXDRIVER_SDL_PURE);#else		NewDriver = TFB_GFXDRIVER_SDL_PURE;#endif		break;	case OPTVAL_640_480:		NewWidth = 640;		NewHeight = 480;#ifdef HAVE_OPENGL	       		NewDriver = (opts->res == OPTVAL_ALWAYS_GL ? TFB_GFXDRIVER_SDL_OPENGL : TFB_GFXDRIVER_SDL_PURE);#else		NewDriver = TFB_GFXDRIVER_SDL_PURE;#endif		break;	case OPTVAL_800_600:		NewWidth = 800;		NewHeight = 600;		NewDriver = TFB_GFXDRIVER_SDL_OPENGL;		break;	case OPTVAL_1024_768:		NewWidth = 1024;		NewHeight = 768;		NewDriver = TFB_GFXDRIVER_SDL_OPENGL;		break;	default:		/* Don't mess with the custom value */		break;	}	switch (opts->depth) {	case OPTVAL_16:		NewDepth = 16;		break;	case OPTVAL_24:		NewDepth = 24;		break;	case OPTVAL_32:		NewDepth = 32;		break;	default:		fprintf (stderr, "Can't Happen: Impossible value for BPP\n");		break;	}	switch (opts->scaler) {	case OPTVAL_BILINEAR_SCALE:		NewGfxFlags |= TFB_GFXFLAGS_SCALE_BILINEAR;		break;	case OPTVAL_BIADAPT_SCALE:		NewGfxFlags |= TFB_GFXFLAGS_SCALE_BIADAPT;		break;	case OPTVAL_BIADV_SCALE:		NewGfxFlags |= TFB_GFXFLAGS_SCALE_BIADAPTADV;		break;	case OPTVAL_TRISCAN_SCALE:		NewGfxFlags |= TFB_GFXFLAGS_SCALE_TRISCAN;		break;	default:		/* OPTVAL_NO_SCALE has no equivalent in gfxflags. */		break;	}	if (opts->scanlines) {		NewGfxFlags |= TFB_GFXFLAGS_SCANLINES;	} else {		NewGfxFlags &= ~TFB_GFXFLAGS_SCANLINES;	}	if ((NewWidth != ScreenWidthActual) ||	    (NewHeight != ScreenHeightActual) ||	    (NewDepth != ScreenColorDepth) ||	    (NewDriver != GraphicsDriver) ||	    (NewGfxFlags != GfxFlags)) 	{		FlushGraphics ();		TFB_DrawScreen_ReinitVideo (NewDriver, NewGfxFlags, NewWidth, NewHeight, NewDepth);		FlushGraphics ();	}	optSubtitles = (opts->subtitles == OPTVAL_ENABLED) ? TRUE : FALSE;	// optWhichMusic = (opts->music == OPTVAL_3DO) ? OPT_3DO : OPT_PC;	optWhichMenu = (opts->menu == OPTVAL_3DO) ? OPT_3DO : OPT_PC;	optWhichFonts = (opts->text == OPTVAL_3DO) ? OPT_3DO : OPT_PC;	optWhichCoarseScan = (opts->cscan == OPTVAL_3DO) ? OPT_3DO : OPT_PC;	optSmoothScroll = (opts->scroll == OPTVAL_3DO) ? OPT_3DO : OPT_PC;}