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-09-10 19:17:52 +0000
committerStijn Buys <ingar@osirion.org>2008-09-10 19:17:52 +0000
commit83fb219e62113a9f41888af4f2726e5ce5305970 (patch)
tree3ba9780192fc7aa7d1fe7988b30a85c5ba08d422 /src/core/netserver.cc
parent033bd59cfc2dff93529ad448459ad6348ea29c8d (diff)
serverside entities
Diffstat (limited to 'src/core/netserver.cc')
-rw-r--r--src/core/netserver.cc11
1 files changed, 5 insertions, 6 deletions
diff --git a/src/core/netserver.cc b/src/core/netserver.cc
index dcc152f..93d4682 100644
--- a/src/core/netserver.cc
+++ b/src/core/netserver.cc
@@ -468,7 +468,7 @@ void NetServer::send_frame_marker(NetClient *client, float timestamp, float prev
// send a "ent" create entity message to all clients
void NetServer::send_entity_create(NetClient *client, Entity *entity)
{
- if (client->state() == NetClient::Connected) {
+ if ((client->state() == NetClient::Connected) && !entity->serverside()) {
std::ostringstream msg;
msg << "ent " << entity->id() << " " << entity->type() << " ";
entity->serialize_server_create(msg);
@@ -480,10 +480,9 @@ void NetServer::send_entity_create(NetClient *client, Entity *entity)
// send a "die" delete entity message to a client
void NetServer::send_entity_delete(NetClient *client, Entity *entity)
{
- std::ostringstream msg("");
- msg << "die " << entity->id() << '\n';
-
- if (client->state() == NetClient::Connected) {
+ if ((client->state() == NetClient::Connected) && !entity->serverside()) {
+ std::ostringstream msg("");
+ msg << "die " << entity->id() << '\n';
client->send_raw(msg.str());
}
}
@@ -491,7 +490,7 @@ void NetServer::send_entity_delete(NetClient *client, Entity *entity)
// broadcast a "sup" server update entity message to all clients
void NetServer::send_entity_update(NetClient *client, Entity *entity)
{
- if (client->state() == NetClient::Connected) {
+ if ((client->state() == NetClient::Connected) && !entity->serverside()) {
std::ostringstream msg;
msg << "sup " << entity->id() << " ";
entity->serialize_server_update(msg);