From 2c4a5e18619a69159bcace8c03b4ea5642f46836 Mon Sep 17 00:00:00 2001 From: Craig Robbins Date: Sun, 25 Jan 2015 01:19:40 +1000 Subject: Revert "Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop)" This reverts commit a555e2d9b0ccee452996381a44677b8bec210036. --- src/game.cpp | 20 ++------------------ 1 file changed, 2 insertions(+), 18 deletions(-) (limited to 'src/game.cpp') diff --git a/src/game.cpp b/src/game.cpp index f5a19a7e4..ec025b73f 100644 --- a/src/game.cpp +++ b/src/game.cpp @@ -809,31 +809,15 @@ class GameGlobalShaderConstantSetter : public IShaderConstantSetter bool *m_force_fog_off; f32 *m_fog_range; Client *m_client; - bool m_fogEnabled; public: - - void onSettingsChange(const std::string &name) - { - if (name == "enable_fog") - m_fogEnabled = g_settings->getBool("enable_fog"); - } - - static void SettingsCallback(const std::string name, void *userdata) - { - reinterpret_cast(userdata)->onSettingsChange(name); - } - GameGlobalShaderConstantSetter(Sky *sky, bool *force_fog_off, f32 *fog_range, Client *client) : m_sky(sky), m_force_fog_off(force_fog_off), m_fog_range(fog_range), m_client(client) - { - g_settings->registerChangedCallback("enable_fog", SettingsCallback, this); - } - + {} ~GameGlobalShaderConstantSetter() {} virtual void onSetConstants(video::IMaterialRendererServices *services, @@ -856,7 +840,7 @@ public: // Fog distance float fog_distance = 10000 * BS; - if (m_fogEnabled && !*m_force_fog_off) + if (g_settings->getBool("enable_fog") && !*m_force_fog_off) fog_distance = *m_fog_range; services->setPixelShaderConstant("fogDistance", &fog_distance, 1); -- cgit v1.2.3