More cleanups
Also, bind map descriptions auxiliar functions
This commit is contained in:
parent
3b2d8a2b5e
commit
5df3ec8cf2
|
@ -260,7 +260,7 @@ void CreatureManager::saveSpawns(const std::string& fileName)
|
||||||
root->LinkEndChild(elem);
|
root->LinkEndChild(elem);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string savePath = g_resources.getRealDir(fileName) + "/" + fileName;
|
std::string savePath = g_resources.getRealPath(fileName);
|
||||||
if(!doc.SaveFile(savePath))
|
if(!doc.SaveFile(savePath))
|
||||||
stdext::throw_exception(stdext::format("failed to save spawns XML %s: %s", savePath, doc.ErrorDesc()));
|
stdext::throw_exception(stdext::format("failed to save spawns XML %s: %s", savePath, doc.ErrorDesc()));
|
||||||
}
|
}
|
||||||
|
|
|
@ -173,7 +173,7 @@ void HouseManager::save(const std::string& fileName)
|
||||||
root->LinkEndChild(elem);
|
root->LinkEndChild(elem);
|
||||||
}
|
}
|
||||||
|
|
||||||
std::string savePath = g_resources.getRealDir(fileName) + "/" + fileName;
|
std::string savePath = g_resources.getRealPath(fileName);
|
||||||
if(!doc.SaveFile(savePath))
|
if(!doc.SaveFile(savePath))
|
||||||
stdext::throw_exception(stdext::format("failed to save houses XML %s: %s", savePath, doc.ErrorDesc()));
|
stdext::throw_exception(stdext::format("failed to save houses XML %s: %s", savePath, doc.ErrorDesc()));
|
||||||
}
|
}
|
||||||
|
|
|
@ -123,6 +123,9 @@ void Client::registerLuaFunctions()
|
||||||
g_lua.bindSingletonFunction("g_map", "setSpawnFile", &Map::setSpawnFile, &g_map);
|
g_lua.bindSingletonFunction("g_map", "setSpawnFile", &Map::setSpawnFile, &g_map);
|
||||||
g_lua.bindSingletonFunction("g_map", "createTile", &Map::createTile, &g_map);
|
g_lua.bindSingletonFunction("g_map", "createTile", &Map::createTile, &g_map);
|
||||||
g_lua.bindSingletonFunction("g_map", "getSize", &Map::getSize, &g_map);
|
g_lua.bindSingletonFunction("g_map", "getSize", &Map::getSize, &g_map);
|
||||||
|
g_lua.bindSingletonFunction("g_map", "setDescription", &Map::setDescription, &g_map);
|
||||||
|
g_lua.bindSingletonFunction("g_map", "getDescriptions", &Map::getDescriptions, &g_map);
|
||||||
|
g_lua.bindSingletonFunction("g_map", "clearDescriptions", &Map::clearDescriptions, &g_map);
|
||||||
g_lua.bindSingletonFunction("g_map", "setShowZone", &Map::setShowZone, &g_map);
|
g_lua.bindSingletonFunction("g_map", "setShowZone", &Map::setShowZone, &g_map);
|
||||||
g_lua.bindSingletonFunction("g_map", "setShowZones", &Map::setShowZones, &g_map);
|
g_lua.bindSingletonFunction("g_map", "setShowZones", &Map::setShowZones, &g_map);
|
||||||
g_lua.bindSingletonFunction("g_map", "setZoneColor", &Map::setZoneColor, &g_map);
|
g_lua.bindSingletonFunction("g_map", "setZoneColor", &Map::setZoneColor, &g_map);
|
||||||
|
|
|
@ -151,6 +151,7 @@ public:
|
||||||
void setHouseFile(const std::string& file) { m_attribs.set(OTBM_ATTR_HOUSE_FILE, file); }
|
void setHouseFile(const std::string& file) { m_attribs.set(OTBM_ATTR_HOUSE_FILE, file); }
|
||||||
void setSpawnFile(const std::string& file) { m_attribs.set(OTBM_ATTR_SPAWN_FILE, file); }
|
void setSpawnFile(const std::string& file) { m_attribs.set(OTBM_ATTR_SPAWN_FILE, file); }
|
||||||
void setDescription(const std::string& desc) { m_attribs.set(OTBM_ATTR_DESCRIPTION, desc); }
|
void setDescription(const std::string& desc) { m_attribs.set(OTBM_ATTR_DESCRIPTION, desc); }
|
||||||
|
void clearDescriptions() { m_attribs.remove(OTBM_ATTR_DESCRIPTION); }
|
||||||
void setWidth(uint16 w) { m_attribs.set(OTBM_ATTR_WIDTH, w); }
|
void setWidth(uint16 w) { m_attribs.set(OTBM_ATTR_WIDTH, w); }
|
||||||
void setHeight(uint16 h) { m_attribs.set(OTBM_ATTR_HEIGHT, h); }
|
void setHeight(uint16 h) { m_attribs.set(OTBM_ATTR_HEIGHT, h); }
|
||||||
|
|
||||||
|
|
|
@ -34,6 +34,7 @@
|
||||||
|
|
||||||
void Map::loadOtbm(const std::string& fileName)
|
void Map::loadOtbm(const std::string& fileName)
|
||||||
{
|
{
|
||||||
|
try {
|
||||||
FileStreamPtr fin = g_resources.openFile(fileName);
|
FileStreamPtr fin = g_resources.openFile(fileName);
|
||||||
if(!fin)
|
if(!fin)
|
||||||
stdext::throw_exception(stdext::format("Unable to load map '%s'", fileName));
|
stdext::throw_exception(stdext::format("Unable to load map '%s'", fileName));
|
||||||
|
@ -195,10 +196,8 @@ void Map::loadOtbm(const std::string& fileName)
|
||||||
townCoords.y = nodeTown->getU16();
|
townCoords.y = nodeTown->getU16();
|
||||||
townCoords.z = nodeTown->getU8();
|
townCoords.z = nodeTown->getU8();
|
||||||
|
|
||||||
if(!(town = g_towns.getTown(townId))) {
|
if(!(town = g_towns.getTown(townId)))
|
||||||
town = TownPtr(new Town(townId, townName, townCoords));
|
g_towns.addTown(TownPtr(new Town(townId, townName, townCoords)));
|
||||||
g_towns.addTown(town);
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
} else if(mapDataType == OTBM_WAYPOINTS && headerVersion > 1) {
|
} else if(mapDataType == OTBM_WAYPOINTS && headerVersion > 1) {
|
||||||
for(const BinaryTreePtr &nodeWaypoint : nodeMapData->getChildren()) {
|
for(const BinaryTreePtr &nodeWaypoint : nodeMapData->getChildren()) {
|
||||||
|
@ -220,10 +219,14 @@ void Map::loadOtbm(const std::string& fileName)
|
||||||
}
|
}
|
||||||
|
|
||||||
fin->close();
|
fin->close();
|
||||||
|
} catch(std::exception& e) {
|
||||||
|
g_logger.error(stdext::format("Failed to load '%s': %s", fileName, e.what()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
void Map::saveOtbm(const std::string& fileName)
|
void Map::saveOtbm(const std::string& fileName)
|
||||||
{
|
{
|
||||||
|
try {
|
||||||
FileStreamPtr fin = g_resources.createFile(fileName);
|
FileStreamPtr fin = g_resources.createFile(fileName);
|
||||||
if(!fin)
|
if(!fin)
|
||||||
stdext::throw_exception(stdext::format("failed to open file '%s' for write", fileName));
|
stdext::throw_exception(stdext::format("failed to open file '%s' for write", fileName));
|
||||||
|
@ -391,6 +394,9 @@ void Map::saveOtbm(const std::string& fileName)
|
||||||
|
|
||||||
fin->flush();
|
fin->flush();
|
||||||
fin->close();
|
fin->close();
|
||||||
|
} catch(std::exception& e) {
|
||||||
|
g_logger.error(stdext::format("Failed to save '%s': %s", fileName, e.what()));
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
bool Map::loadOtcm(const std::string& fileName)
|
bool Map::loadOtcm(const std::string& fileName)
|
||||||
|
@ -538,3 +544,5 @@ void Map::saveOtcm(const std::string& fileName)
|
||||||
g_logger.error(stdext::format("failed to save OTCM map: %s", e.what()));
|
g_logger.error(stdext::format("failed to save OTCM map: %s", e.what()));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/* vim: set ts=4 sw=4 et: */
|
||||||
|
|
Loading…
Reference in New Issue