BASE: Add hack to switch graphics manager in runGame.
This is a (temporary) hack to assure that when the launcher is set up as an SurfaceSDL graphics mode and the game is using an OpenGL graphics mode everything will work as expected.
This commit is contained in:
parent
20e4a7f0ce
commit
ed180f6b67
1 changed files with 13 additions and 0 deletions
|
@ -134,6 +134,19 @@ static Common::Error runGame(const EnginePlugin *plugin, OSystem &system, const
|
|||
Common::Error err = Common::kNoError;
|
||||
Engine *engine = 0;
|
||||
|
||||
#if defined(SDL_BACKEND) && defined(USE_OPENGL) && defined(USE_RGB_COLOR)
|
||||
// HACK: We set up the requested graphics mode setting here to allow the
|
||||
// backend to switch from Surface SDL to OpenGL if necessary. This is
|
||||
// needed because otherwise the g_system->getSupportedFormats might return
|
||||
// bad values.
|
||||
g_system->beginGFXTransaction();
|
||||
g_system->setGraphicsMode(ConfMan.get("gfx_mode").c_str());
|
||||
if (g_system->endGFXTransaction() != OSystem::kTransactionSuccess) {
|
||||
warning("Switching graphics mode to '%s' failed", ConfMan.get("gfx_mode").c_str());
|
||||
return Common::kUnknownError;
|
||||
}
|
||||
#endif
|
||||
|
||||
// Verify that the game path refers to an actual directory
|
||||
if (!(dir.exists() && dir.isDirectory()))
|
||||
err = Common::kPathNotDirectory;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue