more tracking of creation

This commit is contained in:
DarthArgus
2016-12-29 08:47:03 +00:00
parent ef1b4d90d6
commit dd9d5ae6bd
2 changed files with 6 additions and 23 deletions
@@ -214,8 +214,6 @@ void Persister::update(real updateTime)
void Persister::onFrameBarrierReached()
{
pad.lock();
if (m_newCharacterTaskQueue->getNumPendingTasks() == 0)
{
ServerSnapshotMap delayedSaves;
@@ -281,8 +279,6 @@ void Persister::onFrameBarrierReached()
taskQueue->report();
}
}
pad.unlock();
}
// ----------------------------------------------------------------------
@@ -392,24 +388,16 @@ void Persister::startSave(void)
*/
Snapshot * Persister::getSnapshotForObject(const NetworkId &networkId, uint32 serverId)
{
pad.lock();
auto i = m_objectSnapshotMap.find(networkId);
if (i!=m_objectSnapshotMap.end())
{
NOT_NULL(i->second);
pad.unlock();
return i->second;
}
else
{
Snapshot *snap = getSnapshotForServer(serverId);
m_objectSnapshotMap[networkId]=snap;
pad.unlock();
return snap;
}
}
@@ -426,8 +414,6 @@ bool Persister::hasDataForObject(const NetworkId &objectId) const
Snapshot *Persister::getSnapshotForServer(uint32 serverId)
{
pad.lock();
if (serverId==0)
{
if (!m_arbitraryGameDataSnapshot)
@@ -435,9 +421,6 @@ Snapshot *Persister::getSnapshotForServer(uint32 serverId)
m_arbitraryGameDataSnapshot = makeSnapshot(DB::ModeQuery::mode_UPDATE);
m_currentSnapshots[0] = m_arbitraryGameDataSnapshot;
}
pad.unlock();
return m_arbitraryGameDataSnapshot;
}
else
@@ -452,18 +435,12 @@ Snapshot *Persister::getSnapshotForServer(uint32 serverId)
if (!m_arbitraryGameDataSnapshot) {
m_arbitraryGameDataSnapshot = snap;
}
pad.unlock();
return snap;
}
else
{
NOT_NULL (j->second);
pad.unlock();
return j->second;
}
}
@@ -4769,10 +4769,14 @@ void GameServer::handleCharacterCreateNameVerification(const VerifyNameResponse
// ----------------------------------------------------------------------
// Set up the PlayerObject
WARNING(true, ("Setting up the PlayerObject for %s", vrn.getName().c_str()));
ServerObject *playerServerObject = ServerWorld::createNewObject(ConfigServerGame::getPlayerObjectTemplate(), *newCharacterObject, false);
PlayerObject *play = dynamic_cast<PlayerObject*>(playerServerObject);
if (play)
{
WARNING(true, ("Player object is good..."));
play->setStationId(createMessage->getStationId());
play->setBornDate();
play->setSkillTemplate(createMessage->getSkillTemplate(), true);
@@ -4807,6 +4811,8 @@ void GameServer::handleCharacterCreateNameVerification(const VerifyNameResponse
WARNING_STRICT_FATAL(true,("Unable to create PlayerObject for new character %s.\n",newCharacterObject->getNetworkId().getValueString().c_str()));
}
WARNING(true, ("Setting scene and sending to DB for persist."));
newCharacterObject->setSceneIdOnThisAndContents(createMessage->getPlanetName());
// ----------------------------------------------------------------------