diff options
author | Stijn Buys <ingar@osirion.org> | 2008-03-16 10:00:16 +0000 |
---|---|---|
committer | Stijn Buys <ingar@osirion.org> | 2008-03-16 10:00:16 +0000 |
commit | 9a7ca1743f0c74042bca4d4903f7e56fe810edce (patch) | |
tree | a91faf4d038eb2c45e932c018ced0952414b730b /src/core/gameserver.cc | |
parent | c186b58679c50b06966997d33d5e91a99c5621ea (diff) |
accumulate client sends in the gameserver, transmit bufffer at the end of the server frame
Diffstat (limited to 'src/core/gameserver.cc')
-rw-r--r-- | src/core/gameserver.cc | 6 |
1 files changed, 6 insertions, 0 deletions
diff --git a/src/core/gameserver.cc b/src/core/gameserver.cc index 839ed03..985fac4 100644 --- a/src/core/gameserver.cc +++ b/src/core/gameserver.cc @@ -258,6 +258,7 @@ void GameServer::frame(float seconds) entity->entity_dirty = false; } + // update player info for (std::list<NetClient *>::iterator it = server_network->clients.begin(); it != server_network->clients.end(); it++) { NetClient *client = *it; if (client->player()->dirty()) { @@ -271,6 +272,11 @@ void GameServer::frame(float seconds) client->player()->player_dirty = false; } } + + // transmit buffered sends + for (std::list<NetClient *>::iterator it = server_network->clients.begin(); it != server_network->clients.end(); it++) { + (*it)->transmit(); + } } else { |