Fix server sending stuff before textures have been sent
parent
e82a76e438
commit
cd0019acd2
10
src/game.cpp
10
src/game.cpp
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
@ -2274,7 +2277,12 @@ 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;
|
||||
|
|
|
@ -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)
|
||||
{
|
||||
|
|
Loading…
Reference in New Issue