X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=src%2Femerge.h;h=825ac1c0fbf490a9204a687a0a2c34e9d1c5cab2;hb=65c09a96f41705bb8e75fc5ff4276342be91ed11;hp=5526a4c91d0832408284b280b6b0f4711948639f;hpb=0850d3bb930ac5e2cfd71a58fd49725e4c2a4c96;p=minetest.git diff --git a/src/emerge.h b/src/emerge.h index 5526a4c91..825ac1c0f 100644 --- a/src/emerge.h +++ b/src/emerge.h @@ -115,6 +115,7 @@ class EmergeManager { void startThreads(); void stopThreads(); + bool isRunning(); bool enqueueBlockEmerge( u16 peer_id, @@ -135,11 +136,13 @@ class EmergeManager { // Mapgen helpers methods Biome *getBiomeAtPoint(v3s16 p); + int getSpawnLevelAtPoint(v2s16 p); int getGroundLevelAtPoint(v2s16 p); bool isBlockUnderground(v3s16 blockpos); static MapgenFactory *getMapgenFactory(const std::string &mgname); - static void getMapgenNames(std::vector *mgnames); + static void getMapgenNames( + std::vector *mgnames, bool include_hidden); static v3s16 getContainingChunk(v3s16 blockpos, s16 chunksize); private: @@ -157,11 +160,20 @@ class EmergeManager { // Requires m_queue_mutex held EmergeThread *getOptimalThread(); - bool pushBlockEmergeData(v3s16 pos, u16 peer_requested, u16 flags, - EmergeCompletionCallback callback, void *callback_param); + + bool pushBlockEmergeData( + v3s16 pos, + u16 peer_requested, + u16 flags, + EmergeCompletionCallback callback, + void *callback_param, + bool *entry_already_exists); + bool popBlockEmergeData(v3s16 pos, BlockEmergeData *bedata); friend class EmergeThread; + + DISABLE_CLASS_COPY(EmergeManager); }; #endif