Revert "Remove workaround in itemdef.cpp to enable/disable/enable "enable_shaders" setting"

This reverts commit d25ff8fd2592f457b91e8a61240694af3902d23f.
This commit is contained in:
Craig Robbins 2015-02-11 17:01:19 +10:00
parent d25ff8fd25
commit f824866686
6 changed files with 16 additions and 13 deletions

@ -283,7 +283,6 @@ Client::Client(
} }
m_cache_smooth_lighting = g_settings->getBool("smooth_lighting"); m_cache_smooth_lighting = g_settings->getBool("smooth_lighting");
m_cache_enable_shaders = g_settings->getBool("enable_shaders");
} }
void Client::Stop() void Client::Stop()
@ -2682,7 +2681,7 @@ void Client::addUpdateMeshTask(v3s16 p, bool ack_to_server, bool urgent)
Create a task to update the mesh of the block Create a task to update the mesh of the block
*/ */
MeshMakeData *data = new MeshMakeData(this, m_cache_enable_shaders); MeshMakeData *data = new MeshMakeData(this);
{ {
//TimeTaker timer("data fill"); //TimeTaker timer("data fill");

@ -623,9 +623,8 @@ private:
Database *localdb; Database *localdb;
Server *localserver; Server *localserver;
// TODO: Add callback to update these when g_settings changes // TODO: Add callback to update this when g_settings changes
bool m_cache_smooth_lighting; bool m_cache_smooth_lighting;
bool m_cache_enable_shaders;
}; };
#endif // !CLIENT_HEADER #endif // !CLIENT_HEADER

@ -362,6 +362,8 @@ public:
scene::IMesh *node_mesh = NULL; scene::IMesh *node_mesh = NULL;
bool reenable_shaders = false;
if (need_rtt_mesh || need_wield_mesh) { if (need_rtt_mesh || need_wield_mesh) {
u8 param1 = 0; u8 param1 = 0;
if (f.param_type == CPT_LIGHT) if (f.param_type == CPT_LIGHT)
@ -370,7 +372,11 @@ public:
/* /*
Make a mesh from the node Make a mesh from the node
*/ */
MeshMakeData mesh_make_data(gamedef, false); if (g_settings->getBool("enable_shaders")) {
reenable_shaders = true;
g_settings->setBool("enable_shaders", false);
}
MeshMakeData mesh_make_data(gamedef);
u8 param2 = 0; u8 param2 = 0;
if (f.param_type_2 == CPT2_WALLMOUNTED) if (f.param_type_2 == CPT2_WALLMOUNTED)
param2 = 1; param2 = 1;
@ -437,6 +443,9 @@ public:
if (node_mesh) if (node_mesh)
node_mesh->drop(); node_mesh->drop();
if (reenable_shaders)
g_settings->setBool("enable_shaders",true);
} }
// Put in cache // Put in cache

@ -42,7 +42,7 @@ static void applyFacesShading(video::SColor& color, float factor)
MeshMakeData MeshMakeData
*/ */
MeshMakeData::MeshMakeData(IGameDef *gamedef, bool use_shaders): MeshMakeData::MeshMakeData(IGameDef *gamedef):
m_vmanip(), m_vmanip(),
m_blockpos(-1337,-1337,-1337), m_blockpos(-1337,-1337,-1337),
m_crack_pos_relative(-1337, -1337, -1337), m_crack_pos_relative(-1337, -1337, -1337),
@ -50,8 +50,7 @@ MeshMakeData::MeshMakeData(IGameDef *gamedef, bool use_shaders):
m_smooth_lighting(false), m_smooth_lighting(false),
m_show_hud(false), m_show_hud(false),
m_highlight_mesh_color(255, 255, 255, 255), m_highlight_mesh_color(255, 255, 255, 255),
m_gamedef(gamedef), m_gamedef(gamedef)
m_use_shaders(use_shaders)
{} {}
void MeshMakeData::fill(MapBlock *block) void MeshMakeData::fill(MapBlock *block)

@ -45,9 +45,8 @@ struct MeshMakeData
video::SColor m_highlight_mesh_color; video::SColor m_highlight_mesh_color;
IGameDef *m_gamedef; IGameDef *m_gamedef;
bool m_use_shaders;
MeshMakeData(IGameDef *gamedef, bool use_shaders); MeshMakeData(IGameDef *gamedef);
/* /*
Copy central data directly from block, and other data from Copy central data directly from block, and other data from

@ -340,9 +340,7 @@ void WieldMeshSceneNode::setItem(const ItemStack &item, IGameDef *gamedef)
} else if (f.drawtype == NDT_NORMAL || f.drawtype == NDT_ALLFACES) { } else if (f.drawtype == NDT_NORMAL || f.drawtype == NDT_ALLFACES) {
setCube(f.tiles, def.wield_scale, tsrc); setCube(f.tiles, def.wield_scale, tsrc);
} else { } else {
//// TODO: Change false in the following constructor args to MeshMakeData mesh_make_data(gamedef);
//// appropriate value when shader is added for wield items (if applicable)
MeshMakeData mesh_make_data(gamedef, false);
MapNode mesh_make_node(id, 255, 0); MapNode mesh_make_node(id, 255, 0);
mesh_make_data.fillSingleNode(&mesh_make_node); mesh_make_data.fillSingleNode(&mesh_make_node);
MapBlockMesh mapblock_mesh(&mesh_make_data, v3s16(0, 0, 0)); MapBlockMesh mapblock_mesh(&mesh_make_data, v3s16(0, 0, 0));