mirror of
				https://github.com/luanti-org/luanti.git
				synced 2025-11-04 09:15:29 +01:00 
			
		
		
		
	refacto: add RenderingEngine::cleanupMeshCache
This permits to prevent client to own the mesh cache cleanup logic. It's better in RenderingEngine
This commit is contained in:
		@@ -300,12 +300,7 @@ Client::~Client()
 | 
			
		||||
	}
 | 
			
		||||
 | 
			
		||||
	// cleanup 3d model meshes on client shutdown
 | 
			
		||||
	while (RenderingEngine::get_mesh_cache()->getMeshCount() != 0) {
 | 
			
		||||
		scene::IAnimatedMesh *mesh = RenderingEngine::get_mesh_cache()->getMeshByIndex(0);
 | 
			
		||||
 | 
			
		||||
		if (mesh)
 | 
			
		||||
			RenderingEngine::get_mesh_cache()->removeMesh(mesh);
 | 
			
		||||
	}
 | 
			
		||||
	m_rendering_engine->cleanupMeshCache();
 | 
			
		||||
 | 
			
		||||
	delete m_minimap;
 | 
			
		||||
	m_minimap = nullptr;
 | 
			
		||||
 
 | 
			
		||||
@@ -225,6 +225,15 @@ bool RenderingEngine::print_video_modes()
 | 
			
		||||
	return videomode_list != NULL;
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
void RenderingEngine::cleanupMeshCache()
 | 
			
		||||
{
 | 
			
		||||
	auto mesh_cache = m_device->getSceneManager()->getMeshCache();
 | 
			
		||||
	while (mesh_cache->getMeshCount() != 0) {
 | 
			
		||||
		if (scene::IAnimatedMesh *mesh = mesh_cache->getMeshByIndex(0))
 | 
			
		||||
			m_rendering_engine->get_mesh_cache()->removeMesh(mesh);
 | 
			
		||||
	}
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
bool RenderingEngine::setupTopLevelWindow(const std::string &name)
 | 
			
		||||
{
 | 
			
		||||
	// FIXME: It would make more sense for there to be a switch of some
 | 
			
		||||
 
 | 
			
		||||
@@ -56,6 +56,7 @@ public:
 | 
			
		||||
	bool setWindowIcon();
 | 
			
		||||
	bool setXorgWindowIconFromPath(const std::string &icon_file);
 | 
			
		||||
	static bool print_video_modes();
 | 
			
		||||
	void cleanupMeshCache();
 | 
			
		||||
 | 
			
		||||
	static RenderingEngine *get_instance() { return s_singleton; }
 | 
			
		||||
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user