X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Femerge.cpp;h=8d818612618e17aeefa8f0b0ba2ec1ec3020819c;hb=7289d61e99625b46eb2c4d6b90a2a5de42f207e6;hp=aa2c3c5319ee7e903696af66ba08c4703dcddd28;hpb=ca89e63b27a2548a7615fcf4943c22f88818f6eb;p=minetest.git diff --git a/src/emerge.cpp b/src/emerge.cpp index aa2c3c531..8d8186126 100644 --- a/src/emerge.cpp +++ b/src/emerge.cpp @@ -140,7 +140,7 @@ EmergeManager::EmergeManager(IGameDef *gamedef) EmergeManager::~EmergeManager() { - for (unsigned int i = 0; i != emergethread.size(); i++) { + for (u32 i = 0; i != emergethread.size(); i++) { if (threads_active) { emergethread[i]->Stop(); emergethread[i]->qevent.signal(); @@ -193,7 +193,7 @@ void EmergeManager::initMapgens() } // Create the mapgens - for (size_t i = 0; i != emergethread.size(); i++) { + for (u32 i = 0; i != emergethread.size(); i++) { Mapgen *mg = createMapgen(params.mg_name, i, ¶ms); assert(mg); mapgen.push_back(mg); @@ -203,7 +203,7 @@ void EmergeManager::initMapgens() Mapgen *EmergeManager::getCurrentMapgen() { - for (unsigned int i = 0; i != emergethread.size(); i++) { + for (u32 i = 0; i != emergethread.size(); i++) { if (emergethread[i]->IsSameThread()) return emergethread[i]->mapgen; } @@ -217,7 +217,7 @@ void EmergeManager::startThreads() if (threads_active) return; - for (unsigned int i = 0; i != emergethread.size(); i++) + for (u32 i = 0; i != emergethread.size(); i++) emergethread[i]->Start(); threads_active = true; @@ -230,13 +230,13 @@ void EmergeManager::stopThreads() return; // Request thread stop in parallel - for (unsigned int i = 0; i != emergethread.size(); i++) { + for (u32 i = 0; i != emergethread.size(); i++) { emergethread[i]->Stop(); emergethread[i]->qevent.signal(); } // Then do the waiting for each - for (unsigned int i = 0; i != emergethread.size(); i++) + for (u32 i = 0; i != emergethread.size(); i++) emergethread[i]->Wait(); threads_active = false; @@ -282,7 +282,7 @@ bool EmergeManager::enqueueBlockEmerge(u16 peer_id, v3s16 p, bool allow_generate // insert into the EmergeThread queue with the least items int lowestitems = emergethread[0]->blockqueue.size(); - for (unsigned int i = 1; i != emergethread.size(); i++) { + for (u32 i = 1; i != emergethread.size(); i++) { int nitems = emergethread[i]->blockqueue.size(); if (nitems < lowestitems) { idx = i; @@ -325,15 +325,6 @@ bool EmergeManager::isBlockUnderground(v3s16 blockpos) } -u32 EmergeManager::getBlockSeed(v3s16 p) -{ - return (u32)(params.seed & 0xFFFFFFFF) + - p.Z * 38134234 + - p.Y * 42123 + - p.X * 23; -} - - void EmergeManager::getMapgenNames(std::list &mgnames) { for (u32 i = 0; i != ARRLEN(reg_mapgens); i++) @@ -547,7 +538,7 @@ void *EmergeThread::Thread() VoxelArea(minp, maxp)); try { // takes about 90ms with -O1 on an e3-1230v2 m_server->getScriptIface()->environment_OnGenerated( - minp, maxp, emerge->getBlockSeed(minp)); + minp, maxp, mapgen->blockseed); } catch(LuaError &e) { m_server->setAsyncFatalError(e.what()); }