Project::OSiRiON - Git repositories
Project::OSiRiON
News . About . Screenshots . Downloads . Forum . Wiki . Tracker . Git
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorStijn Buys <ingar@osirion.org>2008-03-16 10:00:16 +0000
committerStijn Buys <ingar@osirion.org>2008-03-16 10:00:16 +0000
commit9a7ca1743f0c74042bca4d4903f7e56fe810edce (patch)
treea91faf4d038eb2c45e932c018ced0952414b730b /src/core/gameserver.cc
parentc186b58679c50b06966997d33d5e91a99c5621ea (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.cc6
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 {