summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--src/account-server/accounthandler.cpp4
-rw-r--r--src/game-server/mapmanager.cpp11
-rw-r--r--src/game-server/mapmanager.hpp5
-rw-r--r--src/game-server/mapreader.cpp8
4 files changed, 22 insertions, 6 deletions
diff --git a/src/account-server/accounthandler.cpp b/src/account-server/accounthandler.cpp
index 372fc678..0b81787b 100644
--- a/src/account-server/accounthandler.cpp
+++ b/src/account-server/accounthandler.cpp
@@ -566,8 +566,8 @@ static void handleCharacterCreateMessage(AccountClient &computer, MessageIn &msg
newCharacter->setHairStyle(hairStyle);
newCharacter->setHairColor(hairColor);
newCharacter->setMapId(Configuration::getValue("defaultMap", 1));
- Point startingPos(Configuration::getValue("startX", 512),
- Configuration::getValue("startY", 512));
+ Point startingPos(Configuration::getValue("startX", 1024),
+ Configuration::getValue("startY", 1024));
newCharacter->setPosition(startingPos);
acc->addCharacter(newCharacter);
diff --git a/src/game-server/mapmanager.cpp b/src/game-server/mapmanager.cpp
index 47a6a4a8..68372ed9 100644
--- a/src/game-server/mapmanager.cpp
+++ b/src/game-server/mapmanager.cpp
@@ -103,6 +103,17 @@ MapComposite *MapManager::getMap(int mapId)
return (i != maps.end()) ? i->second : NULL;
}
+MapComposite *MapManager::getMap(std::string const &mapName)
+{
+ Maps::iterator i;
+ for (i = maps.begin(); i != maps.end(); ++i)
+ {
+ if (i->second->getName() == mapName)
+ return i->second;
+ }
+ return NULL;
+}
+
void MapManager::raiseActive(int mapId)
{
Maps::iterator i = maps.find(mapId);
diff --git a/src/game-server/mapmanager.hpp b/src/game-server/mapmanager.hpp
index 82cad2d1..e3fde61a 100644
--- a/src/game-server/mapmanager.hpp
+++ b/src/game-server/mapmanager.hpp
@@ -49,6 +49,11 @@ namespace MapManager
MapComposite *getMap(int mapId);
/**
+ * Returns the requested map
+ */
+ MapComposite *getMap(std::string const &mapName);
+
+ /**
* Returns all the maps.
*/
Maps const &getMaps();
diff --git a/src/game-server/mapreader.cpp b/src/game-server/mapreader.cpp
index 5d5979d6..9caddc24 100644
--- a/src/game-server/mapreader.cpp
+++ b/src/game-server/mapreader.cpp
@@ -170,7 +170,7 @@ Map* MapReader::readMap(xmlNodePtr node, std::string const &path,
if (objType == "WARP")
{
- int destMapId = -1;
+ std::string destMapName = std::string();
int destX = -1;
int destY = -1;
@@ -189,7 +189,7 @@ Map* MapReader::readMap(xmlNodePtr node, std::string const &path,
value = utils::toupper(value);
if (value == "DEST_MAP")
{
- destMapId = getObjectProperty(propertyNode, -1);
+ destMapName = getObjectProperty(propertyNode, std::string());
}
else if (value == "DEST_X")
{
@@ -203,9 +203,9 @@ Map* MapReader::readMap(xmlNodePtr node, std::string const &path,
}
}
- if (destMapId != -1 && destX != -1 && destY != -1)
+ if (destMapName != "" && destX != -1 && destY != -1)
{
- MapComposite *destMap = MapManager::getMap(destMapId);
+ MapComposite *destMap = MapManager::getMap(destMapName);
if (destMap)
{
things.push_back(new TriggerArea(