forked from oerkki/voxelands
partially fix one of the segfaults
This commit is contained in:
parent
ca52853243
commit
a3e59f71ec
|
@ -174,15 +174,7 @@ void * MeshUpdateThread::Thread()
|
|||
}else{
|
||||
MapBlock *block = m_env->getMap().getBlockNoCreateNoEx(q->p);
|
||||
if (block && block->mesh) {
|
||||
if (q->ack_block_to_server) {
|
||||
MeshUpdateResult r;
|
||||
r.p = q->p;
|
||||
r.mesh = NULL;
|
||||
r.ack_block_to_server = true;
|
||||
m_queue_out.push_back(r);
|
||||
}
|
||||
block->mesh->generate(q->data, m_camera_offset, &block->mesh_mutex);
|
||||
}else if (block) {
|
||||
if (q->ack_block_to_server) {
|
||||
MeshUpdateResult r;
|
||||
r.p = q->p;
|
||||
|
@ -190,11 +182,12 @@ void * MeshUpdateThread::Thread()
|
|||
r.ack_block_to_server = true;
|
||||
m_queue_out.push_back(r);
|
||||
}
|
||||
}else if (block) {
|
||||
MapBlockMesh *mesh_new = new MapBlockMesh(q->data, m_camera_offset);
|
||||
MeshUpdateResult r;
|
||||
r.p = q->p;
|
||||
r.mesh = mesh_new;
|
||||
r.ack_block_to_server = false;
|
||||
r.ack_block_to_server = q->ack_block_to_server;
|
||||
|
||||
m_queue_out.push_back(r);
|
||||
}
|
||||
|
|
|
@ -1669,11 +1669,6 @@ void the_game(
|
|||
guitext_profiler->setBackgroundColor(video::SColor(80,0,0,0));
|
||||
guitext_profiler->setVisible(false);
|
||||
|
||||
// Launch pause menu
|
||||
(new GUIPauseMenu(guienv, guiroot, -1, g_gamecallback,
|
||||
&g_menumgr))->drop();
|
||||
client.setFormState(true);
|
||||
|
||||
/*
|
||||
Some statistics are collected in these
|
||||
*/
|
||||
|
|
|
@ -643,7 +643,11 @@ void MapBlockMesh::refresh(u32 daynight_ratio)
|
|||
u16 mc = m_mesh->getMeshBufferCount();
|
||||
for (u16 j=0; j<mc; j++) {
|
||||
scene::IMeshBuffer *buf = m_mesh->getMeshBuffer(j);
|
||||
if (buf == 0)
|
||||
continue;
|
||||
video::S3DVertex *vertices = (video::S3DVertex*)buf->getVertices();
|
||||
if (vertices == 0)
|
||||
continue;
|
||||
u16 vc = buf->getVertexCount();
|
||||
u32 *c = m_meshdata[j].colours.data();
|
||||
for (u16 i=0; i<vc; i++) {
|
||||
|
@ -653,7 +657,11 @@ void MapBlockMesh::refresh(u32 daynight_ratio)
|
|||
mc = m_farmesh->getMeshBufferCount();
|
||||
for (u16 j=0; j<mc; j++) {
|
||||
scene::IMeshBuffer *buf = m_farmesh->getMeshBuffer(j);
|
||||
if (buf == 0)
|
||||
continue;
|
||||
video::S3DVertex *vertices = (video::S3DVertex*)buf->getVertices();
|
||||
if (vertices == 0)
|
||||
continue;
|
||||
u16 vc = buf->getVertexCount();
|
||||
for (u16 i=0; i<vc; i++) {
|
||||
vertices[i].Color = blend_light(0x0F,daynight_ratio);
|
||||
|
|
Loading…
Reference in New Issue