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-07-13 16:37:18 +0000
committerStijn Buys <ingar@osirion.org>2008-07-13 16:37:18 +0000
commit3a3ba622dbf9c035b0f26979601b2d4d192b4167 (patch)
tree1439700a9df9ba1dd32ae1f7ca86c5caa0fd4d1c /src/core/gameconnection.cc
parent2e789cb9894ac5a9565013b134f1c1e51174f430 (diff)
connection sequence updates, breaks network protocol
Diffstat (limited to 'src/core/gameconnection.cc')
-rw-r--r--src/core/gameconnection.cc41
1 files changed, 22 insertions, 19 deletions
diff --git a/src/core/gameconnection.cc b/src/core/gameconnection.cc
index 4d2a745..daf47e1 100644
--- a/src/core/gameconnection.cc
+++ b/src/core/gameconnection.cc
@@ -47,6 +47,12 @@ GameConnection::GameConnection(std::string const &connectionstr)
return;
}
+ // send connect request
+ std::stringstream netmsgstream("");
+ netmsgstream << "connect " << PROTOCOLVERSION << "\n";
+ connection_network->send(netmsgstream.str());
+ connection_network->transmit();
+
connection_frametime = 0;
connection_running = true;
}
@@ -112,26 +118,23 @@ void GameConnection::frame(float seconds)
}
}
- if ((connection_network->state() == NetConnection::Connected) && localcontrol() && localcontrol()->dirty()) {
- std::ostringstream netmsg;
- netmsg << "cup " << localcontrol()->id() << " ";
- localcontrol()->serialize_client_update(netmsg);
- netmsg << "\n";
-
- connection_network->send(netmsg.str());
- localcontrol()->entity_dirty = false;
- //con_debug << netmsg.str();
- }
-
- if (localplayer()->dirty()) {
- localplayer()->update_info();
+ if (connection_network->state() == NetConnection::Connected) {
+
+ if(localcontrol() && localcontrol()->dirty()) {
+ std::ostringstream netmsg;
+ netmsg << "cup " << localcontrol()->id() << " ";
+ localcontrol()->serialize_client_update(netmsg);
+ netmsg << "\n";
+
+ connection_network->send(netmsg.str());
+ localcontrol()->entity_dirty = false;
+ //con_debug << netmsg.str();
+ }
- std::ostringstream osstream;
- osstream << "pif ";
- localplayer()->serialize_client_update(osstream);
- osstream << '\n';
- connection_network->send(osstream.str());
- localplayer()->player_dirty = false;
+ if (localplayer()->dirty()) {
+ connection_network->send_playerinfo();
+
+ }
}
connection_network->transmit();