Redid timers.
This commit is contained in:
@@ -12,7 +12,7 @@ Client::Client(World* world, EventBroker* eventBroker)
|
||||
|
||||
auto config = ResourceManager::Load<ConfigFile>("Config.ini");
|
||||
m_PlayerName = config->Get<std::string>("Networking.Name", "Raptorcopter");
|
||||
m_SendInputIntervalMs = config->Get<int>("Networking.SendInputIntervalMs", 33);
|
||||
m_SendInputInterval = config->Get<int>("Networking.SendInputIntervalMs", 33) / 1000.0;
|
||||
LOG_INFO("Client initialized");
|
||||
|
||||
m_ServerlistRequest.Connect(m_PlayerName, "192.168.1.255", 32554);
|
||||
@@ -85,7 +85,9 @@ void Client::Update(double dt)
|
||||
}
|
||||
|
||||
if (m_SearchingForServers) {
|
||||
if (m_SearchingTime < (1000* (std::clock() - m_StartSearchTime) / (double)CLOCKS_PER_SEC)) {
|
||||
m_TimeSearched += dt;
|
||||
if (m_SearchingTime < m_TimeSearched) {
|
||||
m_TimeSearched = 0;
|
||||
m_SearchingForServers = false;
|
||||
//displayServerlist();
|
||||
Events::DisplayServerlist e;
|
||||
@@ -96,9 +98,10 @@ void Client::Update(double dt)
|
||||
|
||||
if (m_IsConnected) {
|
||||
// Don't send 1 input in 1 packet, bunch em up.
|
||||
if (m_SendInputIntervalMs < (1000 * (std::clock() - m_TimeSinceSentInputs) / (double)CLOCKS_PER_SEC)) {
|
||||
m_TimeSinceSentInputs += dt;
|
||||
if (m_SendInputInterval < m_TimeSinceSentInputs) {
|
||||
sendInputCommands();
|
||||
m_TimeSinceSentInputs = std::clock();
|
||||
m_TimeSinceSentInputs = 0;
|
||||
}
|
||||
// HACK: Send absolute player positions for now to avoid desync until we have reliable messages
|
||||
sendLocalPlayerTransform();
|
||||
@@ -593,7 +596,7 @@ bool Client::OnConnectRequest(const Events::ConnectRequest& e)
|
||||
bool Client::OnSearchForServers(const Events::SearchForServers& e)
|
||||
{
|
||||
m_SearchingForServers = true;
|
||||
m_StartSearchTime = std::clock();
|
||||
m_TimeSearched = 0;
|
||||
m_Serverlist.clear();
|
||||
Packet packet(MessageType::ServerlistRequest);
|
||||
m_ServerlistRequest.Broadcast(packet, 13); // TODO: Config
|
||||
|
||||
Reference in New Issue
Block a user