mirror of
https://bitbucket.org/seefoe/src.git
synced 2026-09-11 21:45:09 -04:00
(resync) Merge branch 'clang-profile-build' into testing
This commit is contained in:
@@ -34,14 +34,14 @@ void ConfigServerDatabase::install(void)
|
||||
ConfigServerUtility::install();
|
||||
data = &staticData;
|
||||
|
||||
KEY_INT (objvarNameCleanupTime, 0);
|
||||
KEY_INT (orphanedObjectCleanupTime, 0);
|
||||
KEY_INT (marketAttributesCleanupTime, 0);
|
||||
KEY_INT (messagesCleanupTime, 0);
|
||||
KEY_INT (brokenObjectCleanupTime, 0);
|
||||
KEY_INT (vendorObjectCleanupTime, 0);
|
||||
KEY_INT (objvarNameCleanupTime, 60);
|
||||
KEY_INT (orphanedObjectCleanupTime, 60);
|
||||
KEY_INT (marketAttributesCleanupTime, 60);
|
||||
KEY_INT (messagesCleanupTime, 60);
|
||||
KEY_INT (brokenObjectCleanupTime, 60);
|
||||
KEY_INT (vendorObjectCleanupTime, 60);
|
||||
KEY_STRING (customSQLFilename,"");
|
||||
KEY_BOOL (enableFixBadCells, false);
|
||||
KEY_BOOL (enableFixBadCells, true);
|
||||
KEY_STRING (objectTemplateListUpdateFilename,"");
|
||||
|
||||
KEY_STRING (DSN,"gameserver");
|
||||
@@ -97,7 +97,7 @@ void ConfigServerDatabase::install(void)
|
||||
KEY_BOOL (enableGoldDatabase, false);
|
||||
KEY_STRING (maxGoldNetworkId, "10000000");
|
||||
KEY_FLOAT (defaultQueueUpdateTimeLimit, 0.25f);
|
||||
KEY_BOOL (enableDataCleanup, false);
|
||||
KEY_BOOL (enableDataCleanup, true);
|
||||
KEY_INT (defaultLazyDeleteBulkBindSize, 100);
|
||||
KEY_INT (defaultLazyDeleteSleepTime, 1000);
|
||||
KEY_INT (writeDelay, 0);
|
||||
|
||||
@@ -230,7 +230,7 @@ void Persister::onFrameBarrierReached()
|
||||
for (ObjectSnapshotMap::iterator obj=m_objectSnapshotMap.begin(); obj!=m_objectSnapshotMap.end();)
|
||||
{
|
||||
if (obj->second == i->second)
|
||||
m_objectSnapshotMap.erase(obj++);
|
||||
obj = m_objectSnapshotMap.erase(obj);
|
||||
else
|
||||
++obj;
|
||||
}
|
||||
|
||||
@@ -643,7 +643,11 @@ void GameServer::connectToDatabaseProcess(std::string const &address, uint16 por
|
||||
void GameServer::createRemoteProxy(uint32 remoteProcessId, ServerObject *object)
|
||||
{
|
||||
|
||||
WARNING_STRICT_FATAL(!object, ("Told to create an object on %d we know nothing about!\n", remoteProcessId));
|
||||
if (!object) {
|
||||
WARNING(!object, ("Told to create an object on %d we know nothing about!\n", remoteProcessId));
|
||||
return;
|
||||
}
|
||||
|
||||
NetworkId objectId = object->getNetworkId();
|
||||
|
||||
DEBUG_REPORT_LOG(ConfigServerGame::getLogObjectLoading(),("createRemoteProxy(%lu,%s)\n",remoteProcessId, objectId.getValueString().c_str()));
|
||||
|
||||
@@ -405,7 +405,7 @@ void IntangibleObject::onPermanentlyDestroyed()
|
||||
* Persists this object in the database. Will also persist all the objects it
|
||||
* is keeping track of.
|
||||
*/
|
||||
bool IntangibleObject::persist()
|
||||
void IntangibleObject::persist()
|
||||
{
|
||||
if (isAuthoritative() && isTheater())
|
||||
{
|
||||
@@ -413,11 +413,11 @@ bool IntangibleObject::persist()
|
||||
{
|
||||
// we are not finished creating our objects, prevent persistance
|
||||
WARNING(true, ("IntangibleObject::persist called before all objects created"));
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
|
||||
if (isPersisted())
|
||||
return true;
|
||||
return;
|
||||
|
||||
ServerObject::persist();
|
||||
|
||||
@@ -471,15 +471,9 @@ bool IntangibleObject::persist()
|
||||
}
|
||||
}
|
||||
|
||||
return true;
|
||||
|
||||
}
|
||||
else {
|
||||
else
|
||||
ServerObject::persist();
|
||||
return true;
|
||||
}
|
||||
|
||||
return false;
|
||||
} // IntangibleObject::persist
|
||||
|
||||
//------------------------------------------------------------------------------------------
|
||||
|
||||
@@ -44,7 +44,7 @@ public:
|
||||
|
||||
virtual float alter(float time);
|
||||
virtual void onPermanentlyDestroyed();
|
||||
virtual bool persist();
|
||||
virtual void persist();
|
||||
virtual bool isVisibleOnClient (const Client & client) const;
|
||||
virtual void getAttributes (std::vector<std::pair<std::string, Unicode::String> > &data) const;
|
||||
virtual bool onContainerAboutToTransfer(ServerObject * destination, ServerObject* transferer);
|
||||
|
||||
@@ -3203,11 +3203,11 @@ void ServerObject::onRemovedFromTriggerVolume(TriggerVolume & triggerVolume)
|
||||
* After this function is called, changes to this object will be sent to the database.
|
||||
*/
|
||||
|
||||
bool ServerObject::persist()
|
||||
void ServerObject::persist()
|
||||
{
|
||||
// Do not persist buildout objects (buildout objects have negative networkIds)
|
||||
if (getNetworkId() < NetworkId::cms_invalid)
|
||||
return false;
|
||||
return;
|
||||
|
||||
if (isAuthoritative())
|
||||
{
|
||||
@@ -3221,7 +3221,7 @@ bool ServerObject::persist()
|
||||
if (!contained && !isPlayerControlled() && getPosition_p() != Vector::zero)
|
||||
{
|
||||
WARNING_STRICT_FATAL(true, ("Tried to persist non-player object %s in a space scene away from the origin (not persisting).", getDebugInformation().c_str()));
|
||||
return false;
|
||||
return;
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -3244,15 +3244,11 @@ bool ServerObject::persist()
|
||||
|
||||
PositionUpdateTracker::sendPositionUpdate(*this);
|
||||
}
|
||||
|
||||
return true;
|
||||
}
|
||||
else
|
||||
{
|
||||
sendControllerMessageToAuthServer(CM_persistObject, 0);
|
||||
}
|
||||
|
||||
return false;
|
||||
}
|
||||
|
||||
// ----------------------------------------------------------------------
|
||||
|
||||
@@ -297,7 +297,7 @@ public:
|
||||
bool isInEndBaselines() const;
|
||||
bool isNeedingPobFixup() const;
|
||||
bool permanentlyDestroy (DeleteReasons::Enumerator reason);
|
||||
virtual bool persist ();
|
||||
virtual void persist ();
|
||||
virtual void onRemovingFromWorld ();
|
||||
virtual void unload ();
|
||||
void moveToPlayerAndUnload (const NetworkId &player);
|
||||
|
||||
@@ -514,15 +514,16 @@ ServerObject * ScriptMethodsDynamicVariableNamespace::getObjectAndName(JNIEnv *e
|
||||
JavaStringParam localName(name);
|
||||
if (localName.fillBuffer(buffer, bufferSize) > 1)
|
||||
{
|
||||
if (!JavaLibrary::getObject(objId, object) && !ConfigServerGame::getDisableObjvarNullCheck())
|
||||
if (!JavaLibrary::getObject(objId, object))
|
||||
{
|
||||
fprintf(stderr, "WARNING: Could not get object for objvar %s call\n", buffer);
|
||||
WARNING((!ConfigServerGame::getDisableObjvarNullCheck()), ("WARNING: Could not get object for objvar %s call\n", buffer));
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
fprintf(stderr, "WARNING: Could not get objvar name\n");
|
||||
WARNING(true, ("Could not get objvar name."));
|
||||
}
|
||||
|
||||
if (object == nullptr && !ConfigServerGame::getDisableObjvarNullCheck())
|
||||
JavaLibrary::printJavaStack();
|
||||
|
||||
|
||||
@@ -1125,11 +1125,8 @@ jboolean JNICALL ScriptMethodsObjectCreateNamespace::persistObject(JNIEnv *env,
|
||||
ServerObject* object = nullptr;
|
||||
if (!JavaLibrary::getObject(target, object))
|
||||
return JNI_FALSE;
|
||||
if (object->persist()) {
|
||||
return JNI_TRUE;
|
||||
} else {
|
||||
return JNI_FALSE;
|
||||
}
|
||||
object->persist();
|
||||
return JNI_TRUE;
|
||||
} // JavaLibrary::persistObject
|
||||
|
||||
/**
|
||||
|
||||
@@ -3367,38 +3367,38 @@ void JNICALL ScriptMethodsObjectInfoNamespace::sendScriptVarsToProxies(JNIEnv *
|
||||
{
|
||||
PROFILER_AUTO_BLOCK_DEFINE("JNI::sendScriptVarsToProxies");
|
||||
|
||||
ServerObject * object = 0;
|
||||
if (obj != 0 && buffer != 0)
|
||||
{
|
||||
ServerObject *object = nullptr;
|
||||
if (JavaLibrary::getObject(obj, object) && object != nullptr)
|
||||
if (JavaLibrary::getObject(obj, object))
|
||||
{
|
||||
ProxyList proxyList(object->getExposedProxyList());
|
||||
ProxyList const &proxyList = object->getExposedProxyList();
|
||||
if (!proxyList.empty())
|
||||
{
|
||||
std::vector<int8> data;
|
||||
if (ScriptConversion::convert(buffer, data))
|
||||
std::vector<int8> data;
|
||||
if (ScriptConversion::convert(buffer, data))
|
||||
{
|
||||
if(data.size() > 0)
|
||||
{
|
||||
if(data.size() > 0)
|
||||
{
|
||||
WARNING(data.size() > 60000, ("JavaLibrary::sendScriptVarsToProxies: "
|
||||
"Packing scriptvars for object %s, packed data size = %d",
|
||||
|
||||
WARNING(data.size() > 60000, ("JavaLibrary::sendScriptVarsToProxies: "
|
||||
"Packing scriptvars for object %s, packed data size = %d",
|
||||
object->getNetworkId().getValueString().c_str(),
|
||||
static_cast<int>(data.size())));
|
||||
|
||||
uint32 const myProcessId = GameServer::getInstance().getProcessId();
|
||||
uint32 const authProcessId = object->getAuthServerProcessId();
|
||||
|
||||
ProxyList syncServers(proxyList);
|
||||
if (myProcessId != authProcessId)
|
||||
{
|
||||
proxyList.erase(myProcessId);
|
||||
proxyList.insert(authProcessId);
|
||||
syncServers.erase(myProcessId);
|
||||
syncServers.insert(authProcessId);
|
||||
}
|
||||
|
||||
ServerMessageForwarding::begin(std::vector<uint32>(proxyList.begin(), proxyList.end()));
|
||||
|
||||
ServerMessageForwarding::begin(std::vector<uint32>(syncServers.begin(), syncServers.end()));
|
||||
|
||||
SynchronizeScriptVarDeltasMessage const deltasMessage(object->getNetworkId(), data);
|
||||
|
||||
ServerMessageForwarding::send(deltasMessage);
|
||||
|
||||
ServerMessageForwarding::end();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -325,12 +325,8 @@ ObjvarBuffer::updateObjvars(const NetworkId &objectId, const std::vector <Dynami
|
||||
|
||||
void ObjvarBuffer::removeObject(const NetworkId &object) {
|
||||
DataType::iterator i = m_data.lower_bound(IndexKey(object, 0));
|
||||
while (i != m_data.end()) {
|
||||
if (i->first.m_objectId == object) {
|
||||
i = m_data.erase(i);
|
||||
} else {
|
||||
++i;
|
||||
}
|
||||
while (i != m_data.end() && i->first.m_objectId==object) {
|
||||
i = m_data.erase(i);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user