Fix missing initialization of confirmed item ticks in child server
This commit is contained in:
@@ -41,7 +41,14 @@ NetworkItemManager::NetworkItemManager()
|
||||
{
|
||||
m_confirmed_switch_ticks = -1;
|
||||
m_last_confirmed_item_ticks.clear();
|
||||
initServer();
|
||||
} // NetworkItemManager
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/** If this is a server, initializing the peers in game
|
||||
*/
|
||||
void NetworkItemManager::initServer()
|
||||
{
|
||||
if (NetworkConfig::get()->isServer())
|
||||
{
|
||||
auto peers = STKHost::get()->getPeers();
|
||||
@@ -52,8 +59,7 @@ NetworkItemManager::NetworkItemManager()
|
||||
m_last_confirmed_item_ticks[p] = 0;
|
||||
}
|
||||
}
|
||||
|
||||
} // NetworkItemManager
|
||||
} // initServer
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
/** Destructor. Cleans up all items and meshes stored.
|
||||
|
||||
@@ -110,6 +110,8 @@ public:
|
||||
void saveCompleteState(BareNetworkString* buffer) const;
|
||||
// ------------------------------------------------------------------------
|
||||
void restoreCompleteState(const BareNetworkString& buffer);
|
||||
// ------------------------------------------------------------------------
|
||||
void initServer();
|
||||
|
||||
}; // NetworkItemManager
|
||||
|
||||
|
||||
@@ -2942,6 +2942,8 @@ void Track::initChildTrack()
|
||||
// Add in child process for rewind manager
|
||||
std::dynamic_pointer_cast<NetworkItemManager>
|
||||
(m_item_manager)->rewinderAdd();
|
||||
std::dynamic_pointer_cast<NetworkItemManager>
|
||||
(m_item_manager)->initServer();
|
||||
|
||||
// We call physics init in child process too
|
||||
Physics::get()->init(m_aabb_min, m_aabb_max);
|
||||
|
||||
Reference in New Issue
Block a user