summaryrefslogtreecommitdiff
path: root/game.cpp
diff options
context:
space:
mode:
authorJon Bergli Heier <snakebite@jvnv.net>2011-06-12 17:52:31 +0200
committerJon Bergli Heier <snakebite@jvnv.net>2011-06-12 17:52:31 +0200
commitd289e0eacbd00538ee2bcaedeba4366cc1e98231 (patch)
tree16d49421b24520c1728149f96a63635340e2e4a2 /game.cpp
parentd94e9e78af4e59e27524556b828291c1dfb72407 (diff)
Handle and render players with a placeholder texture.
Diffstat (limited to 'game.cpp')
-rw-r--r--game.cpp19
1 files changed, 19 insertions, 0 deletions
diff --git a/game.cpp b/game.cpp
index 0ebefed..3f4216d 100644
--- a/game.cpp
+++ b/game.cpp
@@ -74,6 +74,9 @@ void Game::handle_type(const boost::system::error_code& error, std::size_t bytes
case message::MSG_TYPE_MSG:
handle_message();
break;
+ case message::MSG_TYPE_PLAYER:
+ handle_player();
+ break;
default:
std::cout << "unknown type: " << (int)*type << std::endl;
}
@@ -116,6 +119,22 @@ void Game::handle_message() {
scene->chat->add_line(s);
}
+void Game::handle_player() {
+ message::Player m;
+
+ m.read(socket);
+ uint32_t id = m.get_id();
+ Vector3 pos(m.get_pos());
+ m.get_len();
+
+ // fetching string
+ m.read(socket);
+
+ std::string name = m.get_str();
+
+ scene->players.push_back(Player::p(new Player(id, pos, name)));
+}
+
Game& Game::get_instance() {
if(!game)
game = new Game();