summaryrefslogtreecommitdiff
path: root/src/game-server/state.cpp
diff options
context:
space:
mode:
authorErik Schilling <ablu.erikschilling@googlemail.com>2013-04-02 22:25:24 +0200
committerErik Schilling <ablu.erikschilling@googlemail.com>2013-04-02 22:28:24 +0200
commit4a8080dcf73dab2b6e62b8500fec3bb996bcbf17 (patch)
tree67ef51dbb1b360f9a3e7c38cf0dbeb2b5f001bfd /src/game-server/state.cpp
parentad3958701136ff8ae4a4fc749ef616cc8917d2af (diff)
downloadmanaserv-4a8080dcf73dab2b6e62b8500fec3bb996bcbf17.tar.gz
manaserv-4a8080dcf73dab2b6e62b8500fec3bb996bcbf17.tar.bz2
manaserv-4a8080dcf73dab2b6e62b8500fec3bb996bcbf17.tar.xz
manaserv-4a8080dcf73dab2b6e62b8500fec3bb996bcbf17.zip
Fixed multiple warnings and errors that blocked c++0x
This allows the server to compile with c++0x (and enables it). This also includes some coding style / readabillity fixes.
Diffstat (limited to 'src/game-server/state.cpp')
-rw-r--r--src/game-server/state.cpp38
1 files changed, 23 insertions, 15 deletions
diff --git a/src/game-server/state.cpp b/src/game-server/state.cpp
index eaffe772..d3a29860 100644
--- a/src/game-server/state.cpp
+++ b/src/game-server/state.cpp
@@ -54,7 +54,8 @@ enum
*/
struct DelayedEvent
{
- unsigned short type, x, y;
+ unsigned short type;
+ Point point;
MapComposite *map;
};
@@ -104,9 +105,7 @@ static void serializeLooks(Character *ch, MessageOut &msg)
// When the insertion succeeds, its the first time
// we encounter the item, so we can send the look change.
// We also send empty slots for unequipment handling.
- lookChanges.insert(
- std::make_pair<unsigned, unsigned>(it->first,
- it->second.itemId));
+ lookChanges.insert(std::make_pair(it->first, it->second.itemId));
}
}
@@ -500,7 +499,7 @@ void GameState::update(int tick)
case EVENT_WARP:
assert(o->getType() == OBJECT_CHARACTER);
- warp(static_cast< Character * >(o), e.map, e.x, e.y);
+ warp(static_cast< Character * >(o), e.map, e.point);
break;
}
}
@@ -700,11 +699,11 @@ void GameState::remove(Entity *ptr)
map->remove(ptr);
}
-void GameState::warp(Character *ptr, MapComposite *map, int x, int y)
+void GameState::warp(Character *ptr, MapComposite *map, const Point &point)
{
remove(ptr);
ptr->setMap(map);
- ptr->setPosition(Point(x, y));
+ ptr->setPosition(point);
ptr->clearDestination();
/* Force update of persistent data on map change, so that
characters can respawn at the start of the map after a death or
@@ -750,28 +749,37 @@ static void enqueueEvent(Actor *ptr, const DelayedEvent &e)
void GameState::enqueueInsert(Actor *ptr)
{
- DelayedEvent e = { EVENT_INSERT, 0, 0, 0 };
- enqueueEvent(ptr, e);
+ DelayedEvent event;
+ event.type = EVENT_INSERT;
+ event.map = 0;
+ enqueueEvent(ptr, event);
}
void GameState::enqueueRemove(Actor *ptr)
{
- DelayedEvent e = { EVENT_REMOVE, 0, 0, 0 };
- enqueueEvent(ptr, e);
+ DelayedEvent event;
+ event.type = EVENT_REMOVE;
+ event.map = 0;
+ enqueueEvent(ptr, event);
}
-void GameState::enqueueWarp(Character *ptr, MapComposite *m, int x, int y)
+void GameState::enqueueWarp(Character *ptr,
+ MapComposite *map,
+ const Point &point)
{
// When the player has just disconnected, better not wait for the pointer
// to become invalid.
if (!ptr->isConnected())
{
- warp(ptr, m, x, y);
+ warp(ptr, map, point);
return;
}
- DelayedEvent e = { EVENT_WARP, x, y, m };
- enqueueEvent(ptr, e);
+ DelayedEvent event;
+ event.type = EVENT_WARP;
+ event.point = point;
+ event.map = map;
+ enqueueEvent(ptr, event);
}
void GameState::sayAround(Actor *obj, const std::string &text)