//=============================================================================//// Video Driver Table//// Config variable to select backend video driver moduleint i_videodriverid = -1;struct haldriveritem_t{ int id; // unique ID # assigned here by the HAL const char *name; // descriptive name of this driver HALVideoDriver *driver; // driver object};// Help string for system.cfg:const char *const i_videohelpstr = "Select video backend (-1 = default"#ifdef _SDL_VER ", 0 = SDL Software"#ifdef EE_FEATURE_OPENGL ", 1 = SDL GL2D"#endif#endif ")";// Driver tablestatic haldriveritem_t halVideoDriverTable[VDR_MAXDRIVERS] ={ // SDL Software Driver { VDR_SDLSOFT, "SDL Software",#ifdef _SDL_VER &i_sdlvideodriver#else NULL#endif }, // SDL GL2D Driver { VDR_SDLGL2D, "SDL GL2D",#if defined(_SDL_VER) && defined(EE_FEATURE_OPENGL) &i_sdlgl2dvideodriver#else NULL#endif }};//// I_DefaultVideoDriver//// Chooses the default video driver based on user specifications, or on preset// platform-specific defaults when there is no user specification.//static haldriveritem_t *I_DefaultVideoDriver(){ haldriveritem_t *item = NULL; if(i_videodriverid < 0 || i_videodriverid >= VDR_MAXDRIVERS || halVideoDriverTable[i_videodriverid].driver == NULL) { // Default or plain invalid setting, or unsupported driver on current // compile. Find the lowest-numbered valid driver and use it. for(int i = 0; i < VDR_MAXDRIVERS; i++) if(halVideoDriverTable[i].driver) item = &halVideoDriverTable[i]; // Nothing?! Somebody borked up their configure/makefile. if(!item) { I_FatalError(I_ERR_KILL, "I_DefaultVideoDriver: no valid drivers for this platform!\n"); } } else item = &halVideoDriverTable[i_videodriverid]; return item;}