revert DNC's shitty changes...i'm guessing this isn't correct

This commit is contained in:
CodeCodon
2015-08-09 18:13:37 -05:00
parent 36ea3085ec
commit e18007d68b
@@ -59,7 +59,7 @@ void PreloadManager::handlePreloadList()
m_listReceived=true;
WARNING(ConfigPlanetServer::getLoadWholePlanet() && ConfigPlanetServer::getLoadWholePlanetMultiserver(),("You have specified both loadWholePlanet and loadWholePlanetMultiserver. LoadWholePlanet (single-server) will take precedence."));
if (ConfigPlanetServer::getLoadWholePlanet() || PlanetServer::getInstance().isInSpaceMode() || !PlanetServer::getInstance().getEnablePreload())
{
// Set up a single server to handle the whole planet
@@ -71,66 +71,103 @@ void PreloadManager::handlePreloadList()
fakeBeacon.m_cityServerId = 1;
fakeBeacon.m_wildernessServerId = 1;
//m_preloadList->clear();
m_preloadList->clear();
m_preloadList->push_back(fakeBeacon);
m_serversWaiting->insert(1);
PreloadServerInformation & psi = (*m_serverMap)[1];
psi.m_actualServerId = 0;
psi.m_timeLoadStarted = time(0);
psi.m_loadTime = -1;
}
if (PlanetServer::getInstance().getEnablePreload())
// WTF is this ... the tutorial planet bypasses the preload multiserver setting in favor of this pie slice algorithm
// We should not need this anymore with the NPE tutorial
// NPE will use the preload tables for multiserver and the 'NewbieTutorial' manager for placing the tutotial instances
/*
else if(PlanetServer::getInstance().isInTutorialMode())
{
DataTable * data = DataTableManager::getTable(ConfigPlanetServer::getPreloadDataTableName(),true);
FATAL(data==NULL,("Could not find data table %s, needed for preload",ConfigPlanetServer::getPreloadDataTableName()));
m_preloadList->clear();
int numRows = data->getNumRows();
for (int row=0; row<numRows; ++row)
int n=ConfigPlanetServer::getNumTutorialServers();
if ((ConfigPlanetServer::getMaxGameServers() != 0) && (n > ConfigPlanetServer::getMaxGameServers()))
n=ConfigPlanetServer::getMaxGameServers();
for (int i=0 ; i<n; ++i)
{
if (data->getStringValue("Scene",row)==Scene::getInstance().getSceneId())
float angle = PI_TIMES_2 * (static_cast<float>(i)/static_cast<float>(n));
// Make a circle of load beacons. The effect will be to divide the map into wedges
PreloadListData fakeBeacon;
fakeBeacon.m_topLeftChunkX = Node::roundToNode(static_cast<int>(cos(angle) * 1000.0f));
fakeBeacon.m_topLeftChunkZ = Node::roundToNode(static_cast<int>(sin(angle) * 1000.0f));
fakeBeacon.m_bottomRightChunkX = fakeBeacon.m_topLeftChunkX + Node::getNodeSize();
fakeBeacon.m_bottomRightChunkZ = fakeBeacon.m_topLeftChunkZ + Node::getNodeSize();
fakeBeacon.m_cityServerId = i+1;
fakeBeacon.m_wildernessServerId = i+1;
DEBUG_REPORT_LOG(true,("Loadbeacon at %i, %i\n",fakeBeacon.m_topLeftChunkX, fakeBeacon.m_topLeftChunkZ));
m_preloadList->push_back(fakeBeacon);
PreloadServerInformation & psi = (*m_serverMap)[i+1];
psi.m_actualServerId = 0;
psi.m_timeLoadStarted = time(0);
psi.m_loadTime = -1;
m_serversWaiting->insert(i+1);
}
}*/
else
{
if (PlanetServer::getInstance().getEnablePreload())
{
DataTable * data = DataTableManager::getTable(ConfigPlanetServer::getPreloadDataTableName(),true);
FATAL(data==NULL,("Could not find data table %s, needed for preload",ConfigPlanetServer::getPreloadDataTableName()));
int numRows = data->getNumRows();
for (int row=0; row<numRows; ++row)
{
PreloadListData item;
item.m_topLeftChunkX=data->getIntValue("Top Left Chunk X",row);
item.m_topLeftChunkZ=data->getIntValue("Top Left Chunk Z",row);
item.m_bottomRightChunkX=data->getIntValue("Bottom Right Chunk X",row);
item.m_bottomRightChunkZ=data->getIntValue("Bottom Right Chunk Z",row);
item.m_cityServerId=data->getIntValue("City Server Id",row);
item.m_wildernessServerId=data->getIntValue("Wilderness Server Id",row);
//if (ConfigPlanetServer::getMaxGameServers() != 0)
//{
// // Reduce the total number of game servers
// item.m_cityServerId = ((item.m_cityServerId - 1) % ConfigPlanetServer::getMaxGameServers()) + 1;
// if (item.m_wildernessServerId != 0)
// item.m_wildernessServerId = ((item.m_wildernessServerId - 1) % ConfigPlanetServer::getMaxGameServers()) + 1;
//}
m_preloadList->push_back(item);
ServerMapType::iterator mapIter = m_serverMap->find(item.m_cityServerId);
if (mapIter == m_serverMap->end())
if (data->getStringValue("Scene",row)==Scene::getInstance().getSceneId())
{
PreloadServerInformation & psi = (*m_serverMap)[item.m_cityServerId];
psi.m_actualServerId = 0;
psi.m_timeLoadStarted = time(0);
psi.m_loadTime = -1;
PreloadListData item;
item.m_topLeftChunkX=data->getIntValue("Top Left Chunk X",row);
item.m_topLeftChunkZ=data->getIntValue("Top Left Chunk Z",row);
item.m_bottomRightChunkX=data->getIntValue("Bottom Right Chunk X",row);
item.m_bottomRightChunkZ=data->getIntValue("Bottom Right Chunk Z",row);
item.m_cityServerId=data->getIntValue("City Server Id",row);
item.m_wildernessServerId=data->getIntValue("Wilderness Server Id",row);
if (ConfigPlanetServer::getMaxGameServers() != 0)
{
// Reduce the total number of game servers
item.m_cityServerId = ((item.m_cityServerId - 1) % ConfigPlanetServer::getMaxGameServers()) + 1;
if (item.m_wildernessServerId != 0)
item.m_wildernessServerId = ((item.m_wildernessServerId - 1) % ConfigPlanetServer::getMaxGameServers()) + 1;
}
m_preloadList->push_back(item);
ServerMapType::iterator mapIter = m_serverMap->find(item.m_cityServerId);
if (mapIter == m_serverMap->end())
{
PreloadServerInformation & psi = (*m_serverMap)[item.m_cityServerId];
psi.m_actualServerId = 0;
psi.m_timeLoadStarted = time(0);
psi.m_loadTime = -1;
m_serversWaiting->insert(item.m_cityServerId);
}
if (item.m_wildernessServerId != 0)
{
mapIter = m_serverMap->find(item.m_wildernessServerId);
if (mapIter == m_serverMap->end())
{
PreloadServerInformation & psi = (*m_serverMap)[item.m_wildernessServerId];
psi.m_actualServerId = 0;
psi.m_timeLoadStarted = time(0);
psi.m_loadTime = -1;
m_serversWaiting->insert(item.m_wildernessServerId);
}
}
}
//if (item.m_wildernessServerId != 0)
//{
// ServerMapType::iterator mapIter = m_serverMap->find(item.m_wildernessServerId);
// if (mapIter == m_serverMap->end())
// {
// PreloadServerInformation & psi = (*m_serverMap)[item.m_wildernessServerId];
// psi.m_actualServerId = 0;
// psi.m_timeLoadStarted = time(0);
// psi.m_loadTime = -1;
// //m_serversWaiting->insert(item.m_wildernessServerId);
// }
//}
}
}
}