From 2050c0e0576f05156f192aa4caf48834d2f28b14 Mon Sep 17 00:00:00 2001 From: fschildt Date: Fri, 22 Aug 2025 15:23:11 +0200 Subject: first commit --- src/client/chat.c | 31 +++++++++++++++++++++++++++++++ 1 file changed, 31 insertions(+) create mode 100644 src/client/chat.c (limited to 'src/client/chat.c') diff --git a/src/client/chat.c b/src/client/chat.c new file mode 100644 index 0000000..f32c0b2 --- /dev/null +++ b/src/client/chat.c @@ -0,0 +1,31 @@ +#include +#include + +void +chat_add_message(Chat *chat, String32 *sender_name, String32 *content, Time creation_time) +{ + // Todo: is the index correct? Think once more. + size_t index = (chat->start_index + chat->message_count) % ARRAY_COUNT(chat->messages); + + ChatMessage *message = &chat->messages[index]; + message->creation_time = creation_time; + string32_copy(message->sender_name, sender_name); + string32_copy(message->content, content); +} + +void +chat_reset(Chat *chat) +{ + chat->start_index = 0; + chat->message_count = 0; +} + +Chat * +chat_create_and_init(MemArena *arena, i32 message_count_max) +{ + Chat *chat = mem_arena_push(arena, Chat); + chat->start_index = 0; + chat->message_count = 0; + return chat; +} + -- cgit v1.2.3