コード例 #1
0
ファイル: ca_chat.c プロジェクト: Comanche93/eech
void show_chat_page (ui_object *obj)
{
	//
	// Build Target List
	//
	
	build_chat_target_list ();

	//
	// Show Previous Messages
	//
	
	build_chat_message_list ();
	
	display_campaign_page (CAMPAIGN_PAGE_CHAT, ENTITY_INDEX_DONT_CARE, TRUE);
}
コード例 #2
0
ファイル: ca_save.c プロジェクト: DexterWard/comanche
void show_save_page (ui_object *obj)
{
	//
	// Build Existing Filenames List
	//

	build_save_file_list ();

	//
	// Set up text areas
	//

	current_session = get_current_game_session();

	display_campaign_page (CAMPAIGN_PAGE_SAVE, ENTITY_INDEX_DONT_CARE, TRUE);
}
コード例 #3
0
ファイル: ca_base.c プロジェクト: DexterWard/comanche
void show_base_page (entity *base, int force_update)
{
    entity
    *previous;

    vec3d
    *pos;

    int
    x, z;

    char
    s [128];

    ASSERT (base);

    ASSERT (get_local_entity_type (base) == ENTITY_TYPE_KEYSITE);

    if (force_update)
    {
        previous = NULL;
    }
    else
    {
        previous = get_local_entity_safe_ptr (get_ui_object_item_number (campaign_page [CAMPAIGN_PAGE_BASE]));
    }

    pos = get_local_entity_vec3d_ptr (base, VEC3D_TYPE_POSITION);

    ASSERT (pos);

    //
    // NAME
    //

    set_ui_object_text (base_page_title, get_local_entity_string (base, STRING_TYPE_KEYSITE_NAME));

    //
    // TYPE
    //

    set_ui_object_text (base_page_type_box, get_trans (get_local_entity_string (base, STRING_TYPE_FULL_NAME)));

    //
    // LOCATION
    //

    get_x_sector (x, pos->x);
    get_z_sector (z, pos->z);

    sprintf (s, "[%03d, %03d]", x, z);

    set_ui_object_text (base_page_sector_box, s);

    //
    // 3D WINDOW
    //

    set_ui_object_item_number (page_3d_area, get_local_entity_index (base));

    if (base != previous)
    {
        page_3d_heading = 0.0;
        page_3d_pitch = (PI * 0.25);
        page_3d_distance = max (50.0, get_local_entity_float_value (base, FLOAT_TYPE_RECON_DISTANCE));
    }

    //
    // 2D MAP
    //

    set_ui_object_item_number (page_map_area, get_local_entity_index (base));

    if (base != previous)
    {
        page_map_dimensions.x = pos->x;
        page_map_dimensions.z = pos->z;

        page_map_dimensions.subject_entity = base;
    }

    //

    display_campaign_page (CAMPAIGN_PAGE_BASE, get_local_entity_index (base), TRUE);
}
コード例 #4
0
ファイル: ca_wload.c プロジェクト: DexterWard/comanche
void show_weapon_loading_page (entity *group, int force_update)
{
	gunship_types
		type;

	int
		loop;

	entity
		*en,
		*pilot,
		*member;

	ui_object
		*new_item;

	ASSERT (group);

	//
	// Reconstruct List
	//

	if (force_update)
	{
		ui_object_destroy_list_items (page_member_list);

		set_ui_object_vslider_virtual_position (get_ui_object_vslider (page_member_area), 0.0);

		set_ui_object_item_number (page_member_list, ENTITY_INDEX_DONT_CARE);

		member = get_local_entity_first_child (group, LIST_TYPE_MEMBER);

		ASSERT (member);

		while (member)
		{
			sprintf (buffer, "1-%d %s", get_local_entity_int_value (member, INT_TYPE_GROUP_MEMBER_ID), get_local_entity_string (member, STRING_TYPE_SHORT_DISPLAY_NAME));

			pilot = get_local_entity_first_child (member, LIST_TYPE_AIRCREW);

			if (pilot)
			{
				sprintf (buffer, "1-%d %s (%s)",
								get_local_entity_int_value (member, INT_TYPE_GROUP_MEMBER_ID),
								get_local_entity_string (member, STRING_TYPE_SHORT_DISPLAY_NAME),
								get_local_entity_string (pilot, STRING_TYPE_PILOTS_NAME));
			}

			if (get_local_entity_int_value (member, INT_TYPE_GUNSHIP_TYPE) < NUM_GUNSHIP_TYPES)
			{
				new_item = add_to_pop_up_list (buffer, page_member_list, NULL, get_local_entity_safe_index (member), UI_FONT_ARIAL_14, ui_ingame_live_text_colour);

				set_ui_mouse_over_entity_function (new_item);

				set_ui_object_notify_on (new_item, NOTIFY_TYPE_BUTTON_DOWN);
			}
			else
			{
				new_item = add_to_pop_up_list (buffer, page_member_list, NULL, get_local_entity_safe_index (member), UI_FONT_ARIAL_14, ui_ingame_dead_text_colour);

				set_ui_object_notify_on (new_item, NOTIFY_TYPE_NONE);
			}

			if (member == get_gunship_entity ())
			{
				set_ui_object_state (new_item, UI_OBJECT_STATE_ON);

				set_ui_object_item_number (page_member_list, get_local_entity_safe_index (member));
			}

			member = get_local_entity_child_succ (member, LIST_TYPE_MEMBER);
		}

		resize_pop_up_list (page_member_list);
	}

	//
	// Show weapon loading page
	//

	for (loop = 0; loop < NUM_GUNSHIP_TYPES; loop ++)
	{
		set_ui_object_drawable (weapon_loading_page [loop], FALSE);

		set_ui_object_item_number (weapon_loading_page [loop], ENTITY_INDEX_DONT_CARE);
	}

	en = get_local_entity_safe_ptr (get_ui_object_item_number (page_member_list));

	ASSERT (en);

	type = get_local_entity_int_value (en, INT_TYPE_GUNSHIP_TYPE);

	if (get_local_entity_int_value (en, INT_TYPE_GUNSHIP_TYPE) < NUM_GUNSHIP_TYPES)
	{
		weapon_loading_update_currently_selected_weapons (en);

		set_ui_object_drawable (weapon_loading_page [type], TRUE);

		set_ui_object_item_number (weapon_loading_page [type], get_local_entity_safe_index (en));
	}

	//
	// Default payload list
	//

	rebuild_default_payload_list (en);

	display_campaign_page (CAMPAIGN_PAGE_WEAPON_LOADING, get_local_entity_safe_index (group), TRUE);
}