From c6763223b8b0c3f78edb6ac759c14f08375b438f Mon Sep 17 00:00:00 2001 From: Aldrik Ramaekers Date: Wed, 15 May 2024 10:23:02 +0200 Subject: join game menu --- src/game.c | 15 ++++++++++++--- 1 file changed, 12 insertions(+), 3 deletions(-) (limited to 'src/game.c') diff --git a/src/game.c b/src/game.c index 793ea54..5123d1a 100644 --- a/src/game.c +++ b/src/game.c @@ -29,7 +29,7 @@ static u32 get_session_id() { return (((time * 2654435789U) + time) * 2654435789U) + platform_get_processid(); } -void connect_to_server(char* ip, char* port) { +bool connect_to_server(char* ip, char* port) { client_incomming_allocator = create_allocator(MAX_NETWORK_BUFFER_SIZE); messages_received_on_client = array_create(sizeof(protocol_generic_message*)); @@ -51,23 +51,28 @@ void connect_to_server(char* ip, char* port) { player_id = get_session_id(); network_message message = create_protocol_get_id_up(player_id); add_message_to_outgoing_queuex(message, *global_state.client); + return true; } } + return false; } -void connect_to_game(char* ip, char* port) +bool connect_to_game(char* ip, char* port) { if (ip && port) { if (strcmp(ip, "127.0.0.1") == 0) { start_server(port); } - connect_to_server(ip, port); + if (!connect_to_server(ip, port)) { + return false; + } } log_info("STATE: GAMESTATE_PLAYING"); global_state.state = GAMESTATE_PLAYING; play_music(music_inside1); + return true; } void start_solo_game() @@ -188,6 +193,10 @@ void update_server(platform_window* window) { switch (msg->message->type) { + case MESSAGE_PING_UPSTREAM: { + add_message_to_outgoing_queuex(create_protocol_ping_downstream(), msg->client); + + } break; case MESSAGE_GET_ID_UPSTREAM: { protocol_get_id_upstream* m = (protocol_get_id_upstream*)msg->message; u32 new_id = get_id_from_ip(msg->client); -- cgit v1.2.3-70-g09d2