diff --git a/src/Nazara/Audio/Audio.cpp b/src/Nazara/Audio/Audio.cpp index 05946542a..f91f1496e 100644 --- a/src/Nazara/Audio/Audio.cpp +++ b/src/Nazara/Audio/Audio.cpp @@ -3,11 +3,7 @@ // For conditions of distribution and use, see copyright notice in Config.hpp #include -#include -#include -#include #include -#include #include #include #include @@ -15,10 +11,8 @@ #include #include #include -#include +#include #include -#include -#include #include #include @@ -159,7 +153,7 @@ namespace Nz void Audio::Config::Override(const CommandLineParameters& parameters) { - if (parameters.HasFlag("no-audio")) + if (parameters.HasFlag("no-audio") || TestEnvironmentVariable("NAZARA_NO_AUDIO")) noAudio = true; } } diff --git a/src/Nazara/Graphics/Graphics.cpp b/src/Nazara/Graphics/Graphics.cpp index 02ae35efc..7d8074ea0 100644 --- a/src/Nazara/Graphics/Graphics.cpp +++ b/src/Nazara/Graphics/Graphics.cpp @@ -5,6 +5,7 @@ #include #include #include +#include #include #include #include @@ -14,7 +15,6 @@ #include #include #include -#include #include #include #include @@ -542,10 +542,10 @@ namespace Nz void Graphics::Config::Override(const CommandLineParameters& parameters) { - if (parameters.HasFlag("use-dedicated-gpu")) + if (parameters.HasFlag("use-dedicated-gpu") || TestEnvironmentVariable("NAZARA_USE_DEDICATED_GPU")) useDedicatedRenderDevice = true; - if (parameters.HasFlag("use-integrated-gpu")) + if (parameters.HasFlag("use-integrated-gpu") || TestEnvironmentVariable("NAZARA_USE_INTEGRATED_GPU")) useDedicatedRenderDevice = false; } } diff --git a/src/Nazara/Renderer/Renderer.cpp b/src/Nazara/Renderer/Renderer.cpp index 8527b3f87..95780b25d 100644 --- a/src/Nazara/Renderer/Renderer.cpp +++ b/src/Nazara/Renderer/Renderer.cpp @@ -5,15 +5,9 @@ #include #include #include +#include #include -#include -#include -#include #include -#include -#include -#include -#include #include #include #include @@ -217,8 +211,21 @@ namespace Nz void Renderer::Config::Override(const CommandLineParameters& parameters) { std::string_view value; + auto GetParameter = [&](const std::string& paramName, const char* envName, std::string_view* var) + { + if (parameters.GetParameter(paramName, var)) + return true; - if (parameters.GetParameter("render-api", &value)) + if (const char* envValue = GetEnvironmentVariable(envName); envValue && *envValue != '\0') + { + *var = envValue; + return true; + } + + return false; + }; + + if (GetParameter("render-api", "NAZARA_RENDER_API", &value)) { constexpr auto renderAPIStr = frozen::make_unordered_map({ { "auto", RenderAPI::Unknown }, @@ -236,7 +243,7 @@ namespace Nz NazaraErrorFmt("unknown render API \"{0}\"", value); } - if (parameters.GetParameter("render-api-validation", &value)) + if (GetParameter("render-api-validation", "NAZARA_RENDER_API_VALDATION", &value)) { constexpr auto validationStr = frozen::make_unordered_map({ { "debug", RenderAPIValidationLevel::Debug },