Changeset View
Changeset View
Standalone View
Standalone View
source/renderer/RenderingOptions.cpp
Show All 25 Lines | |||||
#include "renderer/PostprocManager.h" | #include "renderer/PostprocManager.h" | ||||
#include "renderer/ShadowMap.h" | #include "renderer/ShadowMap.h" | ||||
CRenderingOptions g_RenderingOptions; | CRenderingOptions g_RenderingOptions; | ||||
class CRenderingOptions::ConfigHooks | class CRenderingOptions::ConfigHooks | ||||
{ | { | ||||
public: | public: | ||||
std::vector<CConfigDB::hook_t>::iterator begin() { return hooks.begin(); } | std::vector<CConfigDBHook>::iterator begin() { return hooks.begin(); } | ||||
std::vector<CConfigDB::hook_t>::iterator end() { return hooks.end(); } | std::vector<CConfigDBHook>::iterator end() { return hooks.end(); } | ||||
template<typename T> | template<typename T> | ||||
void Setup(CStr8 name, T& variable) | void Setup(CStr8 name, T& variable) | ||||
{ | { | ||||
hooks.emplace_back(g_ConfigDB.RegisterHookAndCall(name, [name, &variable]() { CFG_GET_VAL(name, variable); })); | hooks.emplace_back(g_ConfigDB.RegisterHookAndCall(name, [name, &variable]() { CFG_GET_VAL(name, variable); })); | ||||
} | } | ||||
void Setup(CStr8 name, std::function<void()> hook) | void Setup(CStr8 name, std::function<void()> hook) | ||||
{ | { | ||||
hooks.emplace_back(g_ConfigDB.RegisterHookAndCall(name, hook)); | hooks.emplace_back(g_ConfigDB.RegisterHookAndCall(name, hook)); | ||||
} | } | ||||
void clear() { hooks.clear(); } | void clear() { hooks.clear(); } | ||||
private: | private: | ||||
std::vector<CConfigDB::hook_t> hooks; | std::vector<CConfigDBHook> hooks; | ||||
}; | }; | ||||
RenderPath RenderPathEnum::FromString(const CStr8& name) | RenderPath RenderPathEnum::FromString(const CStr8& name) | ||||
{ | { | ||||
if (name == "default") | if (name == "default") | ||||
return DEFAULT; | return DEFAULT; | ||||
if (name == "fixed") | if (name == "fixed") | ||||
return FIXED; | return FIXED; | ||||
▲ Show 20 Lines • Show All 125 Lines • ▼ Show 20 Lines | void CRenderingOptions::ReadConfigAndSetupHooks() | ||||
}); | }); | ||||
m_ConfigHooks->Setup("renderactors", m_RenderActors); | m_ConfigHooks->Setup("renderactors", m_RenderActors); | ||||
} | } | ||||
void CRenderingOptions::ClearHooks() | void CRenderingOptions::ClearHooks() | ||||
{ | { | ||||
if (CConfigDB::IsInitialised()) | if (CConfigDB::IsInitialised()) | ||||
for (CConfigDB::hook_t& hook : *m_ConfigHooks) | for (CConfigDBHook& hook : *m_ConfigHooks) | ||||
g_ConfigDB.UnregisterHook(std::move(hook)); | g_ConfigDB.UnregisterHook(std::move(hook)); | ||||
m_ConfigHooks->clear(); | m_ConfigHooks->clear(); | ||||
} | } | ||||
void CRenderingOptions::SetShadows(bool value) | void CRenderingOptions::SetShadows(bool value) | ||||
{ | { | ||||
m_Shadows = value; | m_Shadows = value; | ||||
if (CRenderer::IsInitialised()) | if (CRenderer::IsInitialised()) | ||||
▲ Show 20 Lines • Show All 41 Lines • Show Last 20 Lines |
Wildfire Games · Phabricator