9#include <unordered_map>
10#include <unordered_set>
16#include <unordered_map>
120 bool update_neighbors =
false);
141 std::vector<std::unique_ptr<MeshUpdateWorkerThread>>
m_workers;
Definition mapblock_mesh.h:165
Definition mesh_generator_thread.h:113
MeshUpdateManager(Client *client)
Definition mesh_generator_thread.cpp:240
void deferUpdate()
Definition mesh_generator_thread.cpp:303
void putResult(const MeshUpdateResult &r)
Definition mesh_generator_thread.cpp:280
v3s16 m_camera_offset
Definition mesh_generator_thread.h:125
bool isRunning()
Definition mesh_generator_thread.cpp:327
MeshUpdateQueue m_queue_in
Definition mesh_generator_thread.h:137
void stop()
Definition mesh_generator_thread.cpp:315
bool getNextResult(MeshUpdateResult &r)
Definition mesh_generator_thread.cpp:288
void updateBlock(Map *map, v3s16 p, bool ack_block_to_server, bool urgent, bool update_neighbors=false)
Definition mesh_generator_thread.cpp:257
MutexedQueue< MeshUpdateResult > m_queue_out_urgent
Definition mesh_generator_thread.h:139
void start()
Definition mesh_generator_thread.cpp:309
std::vector< std::unique_ptr< MeshUpdateWorkerThread > > m_workers
Definition mesh_generator_thread.h:141
MutexedQueue< MeshUpdateResult > m_queue_out
Definition mesh_generator_thread.h:138
void wait()
Definition mesh_generator_thread.cpp:321
Definition mesh_generator_thread.h:36
bool m_cache_enable_shaders
Definition mesh_generator_thread.h:73
std::unordered_set< v3s16 > m_urgents
Definition mesh_generator_thread.h:68
bool addBlock(Map *map, v3s16 p, bool ack_block_to_server, bool urgent)
Definition mesh_generator_thread.cpp:58
~MeshUpdateQueue()
Definition mesh_generator_thread.cpp:46
std::mutex m_mutex
Definition mesh_generator_thread.h:70
std::vector< QueuedMeshUpdate * > m_queue
Definition mesh_generator_thread.h:67
u32 size()
Definition mesh_generator_thread.h:59
void done(v3s16 pos)
Definition mesh_generator_thread.cpp:170
MeshUpdateQueue(Client *client)
Definition mesh_generator_thread.cpp:39
void fillDataFromMapBlocks(QueuedMeshUpdate *q)
Definition mesh_generator_thread.cpp:177
bool m_cache_smooth_lighting
Definition mesh_generator_thread.h:74
UpdateMode
Definition mesh_generator_thread.h:38
@ SKIP_UPDATE_IF_ALREADY_CACHED
Definition mesh_generator_thread.h:40
@ FORCE_UPDATE
Definition mesh_generator_thread.h:39
QueuedMeshUpdate * pop()
Definition mesh_generator_thread.cpp:141
std::unordered_set< v3s16 > m_inflight_blocks
Definition mesh_generator_thread.h:69
Client * m_client
Definition mesh_generator_thread.h:66
Definition mesh_generator_thread.h:95
MeshUpdateManager * m_manager
Definition mesh_generator_thread.h:105
v3s16 * m_camera_offset
Definition mesh_generator_thread.h:106
MeshUpdateQueue * m_queue_in
Definition mesh_generator_thread.h:104
Client * m_client
Definition mesh_generator_thread.h:103
MeshUpdateWorkerThread(Client *client, MeshUpdateQueue *queue_in, MeshUpdateManager *manager, v3s16 *camera_offset)
Definition mesh_generator_thread.cpp:202
int m_generation_interval
Definition mesh_generator_thread.h:109
virtual void doUpdate()
Definition mesh_generator_thread.cpp:209
Definition container.h:117
core::vector3d< s16 > v3s16
Definition irr_v3d.h:13
std::lock_guard< std::mutex > MutexAutoLock
Definition mutex_auto_lock.h:31
Definition activeobjectmgr.cpp:11
Definition mapblock_mesh.h:30
Definition mesh_generator_thread.h:81
bool urgent
Definition mesh_generator_thread.h:86
u8 solid_sides
Definition mesh_generator_thread.h:84
MeshUpdateResult()=default
v3s16 p
Definition mesh_generator_thread.h:82
std::vector< v3s16 > ack_list
Definition mesh_generator_thread.h:85
std::vector< MapBlock * > map_blocks
Definition mesh_generator_thread.h:87
MapBlockMesh * mesh
Definition mesh_generator_thread.h:83
Definition mesh_generator_thread.h:19
QueuedMeshUpdate()=default
~QueuedMeshUpdate()
Definition mesh_generator_thread.cpp:30
int crack_level
Definition mesh_generator_thread.h:22
v3s16 p
Definition mesh_generator_thread.h:20
MeshMakeData * data
Definition mesh_generator_thread.h:24
std::vector< v3s16 > ack_list
Definition mesh_generator_thread.h:21
std::vector< MapBlock * > map_blocks
Definition mesh_generator_thread.h:25
bool urgent
Definition mesh_generator_thread.h:26
v3s16 crack_pos
Definition mesh_generator_thread.h:23
static std::string p(std::string path)
Definition test_filesys.cpp:53