Пример #1
0
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 */);
    }
}
Пример #2
0
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 */);
    }
}
Пример #3
0
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();
}
Пример #4
0
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 */);
}
Пример #5
0
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 */);
    }
}