summaryrefslogtreecommitdiff
path: root/src/game.cpp
diff options
context:
space:
mode:
authorCraig Robbins <kde.psych@gmail.com>2015-01-25 01:19:40 +1000
committerCraig Robbins <kde.psych@gmail.com>2015-01-25 01:19:40 +1000
commit2c4a5e18619a69159bcace8c03b4ea5642f46836 (patch)
treef22463c9cb1ac5bb9589d5be94d94f89cea45e89 /src/game.cpp
parent800d19270250bb13cc6b2d330199815bf8e96446 (diff)
downloadminetest-2c4a5e18619a69159bcace8c03b4ea5642f46836.tar.gz
minetest-2c4a5e18619a69159bcace8c03b4ea5642f46836.tar.bz2
minetest-2c4a5e18619a69159bcace8c03b4ea5642f46836.zip
Revert "Make the GameGlobalShaderConstantSetter use the settings callback (8% perf improvement in game loop)"
This reverts commit a555e2d9b0ccee452996381a44677b8bec210036.
Diffstat (limited to 'src/game.cpp')
-rw-r--r--src/game.cpp20
1 files changed, 2 insertions, 18 deletions
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<GameGlobalShaderConstantSetter*>(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);