Core/Vmaps: Remove the ability to ignore individual maps from vmap LOS /

height checking. Also add a warning if vmap.enableHeight is disabled. You
*MUST* have all LOS / height checking enabled to have a functional server.
Original patch by: Vladimir

--HG--
branch : trunk
This commit is contained in:
runningnak3d
2010-10-08 20:14:12 -06:00
parent a6170675c6
commit 3feda9b6af
5 changed files with 8 additions and 53 deletions

View File

@@ -88,43 +88,12 @@ namespace VMAP
return fname.str();
}
//=========================================================
/**
Block maps from being used.
parameter: String of map ids. Delimiter = ","
e.g.: "0,1,590"
*/
void VMapManager2::preventMapsFromBeingUsed(const char* pMapIdString)
{
iIgnoreMapIds.clear();
if (pMapIdString != NULL)
{
std::string map_str;
std::stringstream map_ss;
map_ss.str(std::string(pMapIdString));
while (std::getline(map_ss, map_str, ','))
{
std::stringstream ss2(map_str);
int map_num = -1;
ss2 >> map_num;
if (map_num >= 0)
{
sLog.outDebug("Ignoring Map %i for VMaps", map_num);
iIgnoreMapIds[map_num] = true;
// unload map in case it is loaded
unloadMap(map_num);
}
}
}
}
//=========================================================
int VMapManager2::loadMap(const char* pBasePath, unsigned int pMapId, int x, int y)
{
int result = VMAP_LOAD_RESULT_IGNORED;
if (isMapLoadingEnabled() && !iIgnoreMapIds.count(pMapId))
if (isMapLoadingEnabled())
{
if (_loadMap(pMapId, pBasePath, x, y))
result = VMAP_LOAD_RESULT_OK;