mirror of
https://github.com/blupi-games/planetblupi
synced 2024-12-30 10:15:36 +01:00
Add a way to change the driver used by the accelerated renderer
This commit is contained in:
parent
648233b470
commit
54d7eec1a3
@ -78,6 +78,7 @@ enum Settings {
|
||||
SETTING_TIMERINTERVAL = 1 << 2,
|
||||
SETTING_RENDERER = 1 << 3,
|
||||
SETTING_ZOOM = 1 << 4,
|
||||
SETTING_DRIVER = 1 << 5,
|
||||
};
|
||||
|
||||
static int g_settingsOverload = 0;
|
||||
@ -177,6 +178,16 @@ ReadConfig ()
|
||||
g_rendererType = SDL_RENDERER_ACCELERATED;
|
||||
}
|
||||
|
||||
if (
|
||||
!(g_settingsOverload & SETTING_DRIVER) && j.find ("driver") != j.end () &&
|
||||
(!g_rendererType || g_rendererType == SDL_RENDERER_ACCELERATED))
|
||||
{
|
||||
if (j["driver"] == "direct3d")
|
||||
SDL_SetHint (SDL_HINT_RENDER_DRIVER, "direct3d");
|
||||
else if (j["driver"] == "opengl")
|
||||
SDL_SetHint (SDL_HINT_RENDER_DRIVER, "opengl");
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
|
||||
@ -570,6 +581,11 @@ parseArgs (int argc, char * argv[], bool & exit)
|
||||
{"-r", "--renderer"},
|
||||
"set a renderer [auto;software;accelerated] (default: auto)",
|
||||
1},
|
||||
{"driver",
|
||||
{"-d", "--driver"},
|
||||
"set a driver [auto;direct3d;opengl] (default: auto, ignored with "
|
||||
"software renderer)",
|
||||
1},
|
||||
{"enablerecorder",
|
||||
{"-c", "--enable-recorder"},
|
||||
"enable the recorder feature (F3/F4)",
|
||||
@ -648,6 +664,17 @@ parseArgs (int argc, char * argv[], bool & exit)
|
||||
g_settingsOverload |= SETTING_RENDERER;
|
||||
}
|
||||
|
||||
if (
|
||||
args["driver"] &&
|
||||
(!g_rendererType || g_rendererType == SDL_RENDERER_ACCELERATED))
|
||||
{
|
||||
if (args["driver"].as<std::string> () == "direct3d")
|
||||
SDL_SetHint (SDL_HINT_RENDER_DRIVER, "direct3d");
|
||||
else if (args["driver"].as<std::string> () == "opengl")
|
||||
SDL_SetHint (SDL_HINT_RENDER_DRIVER, "opengl");
|
||||
g_settingsOverload |= SETTING_DRIVER;
|
||||
}
|
||||
|
||||
if (args["enablerecorder"])
|
||||
g_enableRecorder = true;
|
||||
|
||||
|
Loading…
x
Reference in New Issue
Block a user