static void wid_game_map_client_start_cb (void *context) { uint16_t portno; portno = global_config.server_port; if (server_socket) { IPaddress addr = socket_get_local_ip(server_socket); portno = SDLNet_Read16(&addr.port); } /* * Keep on trying to join over and over. */ if (!client_socket_join(0, 0, portno, true /* quiet */)) { action_timer_create( &wid_timers, (action_timer_callback)wid_game_map_client_start_cb, (action_timer_destroy_callback)0, 0, /* context */ "join server", 100, 0 /* jitter */); } }
static void wid_version_make_visible (void *context) { wid_intro_ready = true; widp w = wid_popup( "%%fg=green$Adventurine -- " VERSION, "", /* title */ 0.9f, 0.95f, /* x,y postition in percent */ 0, /* title font */ vsmall_font, /* body font */ 0, /* button font */ 0); /* number args */ wid_set_no_shape(w); wid_destroy_in(w, 10000); wid_move_end(w); wid_move_to_pct_centered(w, 0.9f, 0.95); wid_game_map_fini(); game.level_no = 0; wid_game_map_init(); if (!wid_change_level_timer) { wid_change_level_timer = action_timer_create( &wid_timers, (action_timer_callback)wid_change_level, (action_timer_destroy_callback)0, 0, /* context */ "change level", 5000, 0 /* jitter */); } }
void wid_game_map_client_visible (void) { if (!client_joined_server) { action_timer_create( &wid_timers, (action_timer_callback)wid_game_map_client_start_cb, (action_timer_destroy_callback)0, 0, /* context */ "join server", 100, 0 /* jitter */); } wid_game_map_client_wid_create(); }
static void wid_change_level (void *context) { wid_change_level_timer = 0; wid_game_map_fini(); game.level_no = 0; wid_game_map_init(); wid_change_level_timer = action_timer_create( &wid_timers, (action_timer_callback)wid_change_level, (action_timer_destroy_callback)0, 0, /* context */ "change level", 5000, 0 /* jitter */); }
static void wid_intro_menu_create (void) { wid_destroy_delay_ms = 500; if (wid_intro_menu) { return; } wid_intro_menu = wid_menu(0, vvlarge_font, vlarge_font, 0, // on_update 0.5, /* x */ 0.55, /* y */ 1, /* columns */ saved_focus, /* focus */ 7, /* items */ (int) ' ', "Play game", wid_menu_quick_start_selected, (int) 'S', "Settings", wid_menu_settings_selected, (int) 'e', "Editor", wid_menu_level_editor_selected, (int) 'c', "Credits", wid_menu_credits_selected, (int) 'h', "Hiscores", wid_menu_past_legends_selected, (int) '?', "Help me!", wid_menu_help_selected, (int) 'q', "Quit", wid_intro_quit_selected); { action_timer_create( &wid_timers, (action_timer_callback)wid_version_make_visible, (action_timer_destroy_callback)0, 0, /* context */ "init game version", 500, 0 /* jitter */); } }