Fix server sending stuff before textures have been sent

master
Perttu Ahola 2012-01-02 17:44:00 +02:00
parent e82a76e438
commit cd0019acd2
2 changed files with 13 additions and 4 deletions

View File

@ -1011,6 +1011,7 @@ void the_game(
bool invert_mouse = g_settings->getBool("invert_mouse");
bool respawn_menu_active = false;
bool update_wielded_item_trigger = false;
bool show_profiler = false;
bool force_fog_off = false;
@ -1663,6 +1664,8 @@ void the_game(
else if(event.type == CE_TEXTURES_UPDATED)
{
update_skybox(driver, tsrc, smgr, skybox, brightness);
update_wielded_item_trigger = true;
}
}
}
@ -2275,6 +2278,11 @@ void the_game(
//infostream<<"Updating local inventory"<<std::endl;
client.getLocalInventory(local_inventory);
update_wielded_item_trigger = true;
}
if(update_wielded_item_trigger)
{
update_wielded_item_trigger = false;
// Update wielded tool
InventoryList *mlist = local_inventory.getList("main");
InventoryItem *item = NULL;

View File

@ -2140,9 +2140,6 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
m_con.Send(peer_id, 0, data, true);
}
// Now the client should know about everything
getClient(peer_id)->definitions_sent = true;
// Send information about server to player in chat
SendChatMessage(peer_id, getStatusString());
@ -2849,6 +2846,10 @@ void Server::ProcessData(u8 *data, u32 datasize, u16 peer_id)
}
SendTexturesRequested(peer_id, tosend);
// Now the client should know about everything
// (definitions and textures)
getClient(peer_id)->definitions_sent = true;
}
else if(command == TOSERVER_INTERACT)
{