From ac9174f793d044bc36ee9c89e99a1f0cbf3f945f Mon Sep 17 00:00:00 2001 From: MarcEricMartel Date: Thu, 2 Nov 2023 15:47:15 -0400 Subject: [PATCH] Envoi des millis avec les Inputs --- SQCSim2021/engine.cpp | 13 ++++++++++--- SQCSim2021/engine.h | 2 ++ 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/SQCSim2021/engine.cpp b/SQCSim2021/engine.cpp index d6ebfbb..1e7ea27 100644 --- a/SQCSim2021/engine.cpp +++ b/SQCSim2021/engine.cpp @@ -370,6 +370,8 @@ void Engine::Init() { // Init Chunks m_world.GetChunks().Reset(nullptr); + m_startTime = std::chrono::high_resolution_clock::now(); + // Gestion de souris. CenterMouse(); HideCursor(); @@ -1102,11 +1104,13 @@ void Engine::Render(float elapsedTime) { } if (m_networkgame) { - netprot::Input input; + using namespace std::chrono; + using namespace netprot; + Input input; input.sid = m_conn.getId(); input.direction = m_player.GetDirection(); - input.timestamp = 12345; // TODO: Implémenter + input.timestamp = duration_cast(high_resolution_clock::now() - m_startTime).count(); input.keys.forward = m_keyW; input.keys.backward = m_keyS; input.keys.left = m_keyA; @@ -1115,7 +1119,10 @@ void Engine::Render(float elapsedTime) { input.keys.block = m_mouseR; input.keys.shoot = m_mouseL; - netprot::sendPackTo(m_conn.m_sock_udp, &input, &m_buf, &m_conn.m_srvsockaddr); + sendPackTo(m_conn.m_sock_udp, &input, &m_buf, &m_conn.m_srvsockaddr); + + // TODO: Faire la gestion de la réception de paquets. + } } else if (m_gamestate == GameState::MAIN_MENU || m_gamestate == GameState::OPTIONS) diff --git a/SQCSim2021/engine.h b/SQCSim2021/engine.h index 5306d10..efd8892 100644 --- a/SQCSim2021/engine.h +++ b/SQCSim2021/engine.h @@ -2,6 +2,7 @@ #define ENGINE_H__ #include +#include #include #include "../SQCSim-common/array2d.h" #include "../SQCSim-common/blockinfo.h" @@ -89,6 +90,7 @@ private: std::map m_players; netprot::Buffer m_buf; + std::chrono::high_resolution_clock::time_point m_startTime; //Menu enum class GameState: uint8_t { MAIN_MENU, OPTIONS, QUIT, NEWG, PLAY };