diff options
author | Loic Blot <loic.blot@unix-experience.fr> | 2021-04-29 09:40:56 +0200 |
---|---|---|
committer | Loïc Blot <nerzhul@users.noreply.github.com> | 2021-05-03 19:49:19 +0200 |
commit | 5a02c376ea5f2e7f1dd0a2bd4f08bf953ed4bfc8 (patch) | |
tree | d4bd7334bad7f1bf0d01d1dc6acbaccd34132823 /src/client/content_mapblock.cpp | |
parent | ccdd886e273ec2fa5f8cfe1d1f474914eccb2abf (diff) | |
download | dragonfireclient-5a02c376ea5f2e7f1dd0a2bd4f08bf953ed4bfc8.tar.xz |
refacto: RenderingEngine::get_scene_manager() is now not callable from singleton
This permits to make evidence that we have some bad object passing on various code parts. I fixed majority of them to reduce the scope of passed objects
Unfortunately, for some edge cases i should have to expose ISceneManager from client, this should be fixed in the future when our POO will be cleaner client side (we have a mix of rendering and processing in majority of the client objects, it works but it's not clean)
Diffstat (limited to 'src/client/content_mapblock.cpp')
-rw-r--r-- | src/client/content_mapblock.cpp | 16 |
1 files changed, 7 insertions, 9 deletions
diff --git a/src/client/content_mapblock.cpp b/src/client/content_mapblock.cpp index ce7235bca..e530f3d7f 100644 --- a/src/client/content_mapblock.cpp +++ b/src/client/content_mapblock.cpp @@ -60,18 +60,16 @@ static constexpr u16 quad_indices[] = {0, 1, 2, 2, 3, 0}; const std::string MapblockMeshGenerator::raillike_groupname = "connect_to_raillike"; -MapblockMeshGenerator::MapblockMeshGenerator(MeshMakeData *input, MeshCollector *output) +MapblockMeshGenerator::MapblockMeshGenerator(MeshMakeData *input, MeshCollector *output, + irr::scene::IMeshManipulator *mm): + data(input), + collector(output), + nodedef(data->m_client->ndef()), + meshmanip(mm), + blockpos_nodes(data->m_blockpos * MAP_BLOCKSIZE) { - data = input; - collector = output; - - nodedef = data->m_client->ndef(); - meshmanip = RenderingEngine::get_scene_manager()->getMeshManipulator(); - enable_mesh_cache = g_settings->getBool("enable_mesh_cache") && !data->m_smooth_lighting; // Mesh cache is not supported with smooth lighting - - blockpos_nodes = data->m_blockpos * MAP_BLOCKSIZE; } void MapblockMeshGenerator::useTile(int index, u8 set_flags, u8 reset_flags, bool special) |