From c53b7e5d38c24bce7ba55abf3060ffd012783086 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Mon, 27 Oct 2014 23:58:09 +0100 Subject: QtBiomeVisualiser: Switched caching to entire regions. This speeds up the rendering preparation for small zooms. --- Tools/QtBiomeVisualiser/RegionLoader.cpp | 37 ++++++++++++++++++++++++++++++++ 1 file changed, 37 insertions(+) create mode 100644 Tools/QtBiomeVisualiser/RegionLoader.cpp (limited to 'Tools/QtBiomeVisualiser/RegionLoader.cpp') diff --git a/Tools/QtBiomeVisualiser/RegionLoader.cpp b/Tools/QtBiomeVisualiser/RegionLoader.cpp new file mode 100644 index 000000000..8c298da1e --- /dev/null +++ b/Tools/QtBiomeVisualiser/RegionLoader.cpp @@ -0,0 +1,37 @@ +#include "Globals.h" +#include "RegionLoader.h" +#include "ChunkSource.h" +#include "Region.h" + + + + + +RegionLoader::RegionLoader(int a_RegionX, int a_RegionZ, RegionPtr a_Region, ChunkSourcePtr a_ChunkSource) : + m_RegionX(a_RegionX), + m_RegionZ(a_RegionZ), + m_Region(a_Region), + m_ChunkSource(a_ChunkSource) +{ +} + + + + + +void RegionLoader::run() +{ + // Load all the chunks in this region: + for (int z = 0; z < 32; z++) + { + for (int x = 0; x < 32; x++) + { + m_ChunkSource->getChunkBiomes(m_RegionX * 32 + x, m_RegionZ * 32 + z, m_Region->getRelChunk(x, z)); + } + } + emit loaded(m_RegionX, m_RegionZ); +} + + + + -- cgit v1.2.3 From 3f3a2a6755460e4f0d976deee9f067969edbfdd2 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Tue, 28 Oct 2014 20:49:29 +0100 Subject: QtBiomeVisualiser: Fixed random regions not rendered. --- Tools/QtBiomeVisualiser/RegionLoader.cpp | 2 ++ 1 file changed, 2 insertions(+) (limited to 'Tools/QtBiomeVisualiser/RegionLoader.cpp') diff --git a/Tools/QtBiomeVisualiser/RegionLoader.cpp b/Tools/QtBiomeVisualiser/RegionLoader.cpp index 8c298da1e..771c1bbac 100644 --- a/Tools/QtBiomeVisualiser/RegionLoader.cpp +++ b/Tools/QtBiomeVisualiser/RegionLoader.cpp @@ -29,6 +29,8 @@ void RegionLoader::run() m_ChunkSource->getChunkBiomes(m_RegionX * 32 + x, m_RegionZ * 32 + z, m_Region->getRelChunk(x, z)); } } + m_Region->m_IsValid = true; + emit loaded(m_RegionX, m_RegionZ); } -- cgit v1.2.3 From 48ac3acc84274fe8d0bf3af30fb47c6729b07147 Mon Sep 17 00:00:00 2001 From: Mattes D Date: Tue, 28 Oct 2014 22:19:24 +0100 Subject: QtBiomeVisualiser: Added quick shutdown to region loaders. Now the app shuts down immediately even if regions are queued for loading. --- Tools/QtBiomeVisualiser/RegionLoader.cpp | 10 ++++++++++ 1 file changed, 10 insertions(+) (limited to 'Tools/QtBiomeVisualiser/RegionLoader.cpp') diff --git a/Tools/QtBiomeVisualiser/RegionLoader.cpp b/Tools/QtBiomeVisualiser/RegionLoader.cpp index 771c1bbac..2a318098b 100644 --- a/Tools/QtBiomeVisualiser/RegionLoader.cpp +++ b/Tools/QtBiomeVisualiser/RegionLoader.cpp @@ -7,6 +7,12 @@ +volatile bool RegionLoader::m_IsShuttingDown = false; + + + + + RegionLoader::RegionLoader(int a_RegionX, int a_RegionZ, RegionPtr a_Region, ChunkSourcePtr a_ChunkSource) : m_RegionX(a_RegionX), m_RegionZ(a_RegionZ), @@ -27,6 +33,10 @@ void RegionLoader::run() for (int x = 0; x < 32; x++) { m_ChunkSource->getChunkBiomes(m_RegionX * 32 + x, m_RegionZ * 32 + z, m_Region->getRelChunk(x, z)); + if (m_IsShuttingDown) + { + return; + } } } m_Region->m_IsValid = true; -- cgit v1.2.3