From fd710e2cb6cd94d53000374406ffa7d31a3b8824 Mon Sep 17 00:00:00 2001 From: Barry Kane Date: Tue, 25 Jul 2023 23:32:11 +0100 Subject: [PATCH] Added tick numbers. --- src/client/cspt-client.c | 8 ++++++++ src/cspt-state.c | 8 ++++++++ src/cspt-state.h | 2 ++ 3 files changed, 18 insertions(+) diff --git a/src/client/cspt-client.c b/src/client/cspt-client.c index b232449..ca78611 100644 --- a/src/client/cspt-client.c +++ b/src/client/cspt-client.c @@ -159,21 +159,25 @@ void * graphicsThreadHandler(void * parameters) { case SDLK_LEFT: { + message->tickNumber = state->tickNumber; message->left = true; break; } case SDLK_RIGHT: { + message->tickNumber = state->tickNumber; message->right = true; break; } case SDLK_UP: { + message->tickNumber = state->tickNumber; message->up = true; break; } case SDLK_DOWN: { + message->tickNumber = state->tickNumber; message->down = true; break; } @@ -190,21 +194,25 @@ void * graphicsThreadHandler(void * parameters) { case SDLK_LEFT: { + message->tickNumber = state->tickNumber; message->left = false; break; } case SDLK_RIGHT: { + message->tickNumber = state->tickNumber; message->right = false; break; } case SDLK_UP: { + message->tickNumber = state->tickNumber; message->up = false; break; } case SDLK_DOWN: { + message->tickNumber = state->tickNumber; message->down = false; break; } diff --git a/src/cspt-state.c b/src/cspt-state.c index 8a9f387..14ad76a 100644 --- a/src/cspt-state.c +++ b/src/cspt-state.c @@ -14,6 +14,14 @@ void updateInput(struct gameState * state, struct clientInput * message) void doGameTick(struct gameState * state) { + if ((state->tickNumber % UINT64_MAX) == 0) + { + state->tickNumber = 0; + } + else + { + state->tickNumber++; + } for (int index = 0; index < 16; index++) { // Calculate acceleration: diff --git a/src/cspt-state.h b/src/cspt-state.h index 39336de..a6e63b7 100644 --- a/src/cspt-state.h +++ b/src/cspt-state.h @@ -13,11 +13,13 @@ struct clientMovement struct clientInput { int clientNumber; + uint64_t tickNumber; bool left, right, up, down; }; struct gameState { + uint64_t tickNumber; struct timeval timestamp; struct clientMovement clients[16]; };