From 81fc72a1d7d55893428c6202be8bd49cbc570ea9 Mon Sep 17 00:00:00 2001 From: Barry Kane Date: Sun, 29 Oct 2023 17:20:14 +0000 Subject: [PATCH] Added system messages to client and added welcome message from server. --- source/client/receiving-thread.c | 32 ++++++++++++++++++++++++++++---- source/server/main.c | 8 ++++++++ 2 files changed, 36 insertions(+), 4 deletions(-) diff --git a/source/client/receiving-thread.c b/source/client/receiving-thread.c index eeebe02..41b78c3 100644 --- a/source/client/receiving-thread.c +++ b/source/client/receiving-thread.c @@ -37,10 +37,34 @@ void * receivingThreadHandler(void * threadArguments) while (true) { gnutls_record_recv(session, ¤tMessage, sizeof(struct ServerToClientMessage)); - wattrset(chatWindow, A_BOLD); - wprintw(chatWindow, "<%s>: ", currentMessage.name); - wattrset(chatWindow, A_NORMAL); - wprintw(chatWindow, "%s\n", currentMessage.content); + + switch (currentMessage.type) + { + case SYSTEM: + { + wattrset(gameWindow, A_BOLD); + wprintw(gameWindow, "%s\n", currentMessage.content); + wattrset(gameWindow, A_NORMAL); + break; + } + case LOCAL_CHAT: + { + wattrset(chatWindow, A_BOLD); + wprintw(chatWindow, "<%s>: ", currentMessage.name); + wattrset(chatWindow, A_NORMAL); + wprintw(chatWindow, "%s\n", currentMessage.content); + break; + } + default: + { + wattrset(chatWindow, A_BOLD); + wprintw(chatWindow, "<%s>: ", currentMessage.name); + wattrset(chatWindow, A_NORMAL); + wprintw(chatWindow, "%s\n", currentMessage.content); + break; + } + } + redrawClientLayout(gameWindow, chatWindow, inputWindow); } } diff --git a/source/server/main.c b/source/server/main.c index 81f1871..3cd79a4 100644 --- a/source/server/main.c +++ b/source/server/main.c @@ -167,6 +167,14 @@ int main (int argc, char ** argv) sprintf(newConnection->player->name, "Player %02d", globalPlayerList->count + 1); addToPlayerList(newConnection->player, globalPlayerList); + // Send a welcome message: + struct ServerToClientMessage welcomeMessage; + welcomeMessage.type = SYSTEM; + sprintf(welcomeMessage.content, (clientConnections.clientCount > 1) ? + "Welcome to the server. There are %d players connected." : "Welcome to the server. There is %d player connected.", + clientConnections.clientCount); + + gnutls_record_send(*tlsSession, &welcomeMessage, sizeof(struct ServerToClientMessage)); // Print a message: printf("New connection established. %d client(s), session ID %u.\n",