New settings tab contain all possible settings
[oweals/minetest.git] / src / emerge.cpp
index bb2590641419cc3bf1ce5a30e86d8ad560dc7e83..392a9d81e7cd6835095ef8b4d68086d3b2db1efc 100644 (file)
@@ -34,6 +34,7 @@ with this program; if not, write to the Free Software Foundation, Inc.,
 #include "log.h"
 #include "map.h"
 #include "mapblock.h"
+#include "mapgen_fractal.h"
 #include "mapgen_v5.h"
 #include "mapgen_v6.h"
 #include "mapgen_v7.h"
@@ -104,6 +105,7 @@ MapgenDesc g_reg_mapgens[] = {
        {"v5",         new MapgenFactoryV5,         true},
        {"v6",         new MapgenFactoryV6,         true},
        {"v7",         new MapgenFactoryV7,         true},
+       {"fractal",    new MapgenFactoryFractal,    false},
        {"singlenode", new MapgenFactorySinglenode, false},
 };
 
@@ -217,7 +219,7 @@ void EmergeManager::initMapgens()
 Mapgen *EmergeManager::getCurrentMapgen()
 {
        for (u32 i = 0; i != m_threads.size(); i++) {
-               if (m_threads[i]->isSameThread())
+               if (m_threads[i]->isCurrentThread())
                        return m_threads[i]->m_mapgen;
        }
 
@@ -256,6 +258,12 @@ void EmergeManager::stopThreads()
 }
 
 
+bool EmergeManager::isRunning()
+{
+       return m_threads_active;
+}
+
+
 bool EmergeManager::enqueueBlockEmerge(
        u16 peer_id,
        v3s16 blockpos,
@@ -468,7 +476,7 @@ EmergeThread::EmergeThread(Server *server, int ethreadid) :
        m_emerge(NULL),
        m_mapgen(NULL)
 {
-       name = "Emerge-" + itos(ethreadid);
+       m_name = "Emerge-" + itos(ethreadid);
 }
 
 
@@ -619,7 +627,7 @@ MapBlock *EmergeThread::finishGen(v3s16 pos, BlockMakeData *bmdata,
 
 void *EmergeThread::run()
 {
-       DSTACK(__FUNCTION_NAME);
+       DSTACK(FUNCTION_NAME);
        BEGIN_DEBUG_EXCEPTION_HANDLER
 
        v3s16 pos;
@@ -692,6 +700,6 @@ void *EmergeThread::run()
                m_server->setAsyncFatalError(err.str());
        }
 
-       END_DEBUG_EXCEPTION_HANDLER(errorstream)
+       END_DEBUG_EXCEPTION_HANDLER
        return NULL;
 }