Exemplo n.º 1
0
void build_chat_message_list (void)
{
	int
		loop,
		start,
		count;

	//
	// Show Previous Messages
	//
	
	ui_object_destroy_list_items (chat_message_list);

	start = get_message_log_number_of_messages () - 1;

	count = 0;

	for (loop = start; loop >= 0; loop --)
	{
		if (add_message_to_campaign_log (loop))
		{
			count ++;

			if (count > 50)
			{
				break;
			}
		}
	}

	resize_pop_up_list (chat_message_list);
}
Exemplo n.º 2
0
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);
}
Exemplo n.º 3
0
void build_save_file_list (void)
{
	session_list_data_type
		*game_session;

	directory_file_list
		*directory_listing;

	ui_object
		*new_item;

	int
		valid_file;

	char
		*p,
		filename [256],
		extension [8];

	ui_object_destroy_list_items (save_file_list);

	game_session = get_current_game_session ();

	ASSERT (game_session);

	sprintf (full_filename, "%s//%s//*.", game_session->data_path, game_session->campaign_directory);

	sprintf (extension, "%s", game_type_extensions [get_game_type ()]);

	extension [2] = extension [1];
	extension [1] = extension [0];
	extension [0] = 'S';

	strcat (full_filename, extension);

	directory_listing = get_first_directory_file (full_filename);

	if (directory_listing)
	{
		valid_file = TRUE;

		while (valid_file)
		{
			if (get_directory_file_type (directory_listing) == DIRECTORY_FILE_TYPE_FILE)
			{
				sprintf (filename, get_directory_file_filename (directory_listing));

				p = strchr (filename, '.');

				if (p)
				{
					*p = '\0';
				}

				new_item = add_to_pop_up_list (filename, save_file_list, NULL, ENTITY_INDEX_DONT_CARE, UI_FONT_ARIAL_16, ui_ingame_live_text_colour);

				set_ingame_ui_object_mouse_over_properties (new_item);
			}

			valid_file = get_next_directory_file (directory_listing);
		}

		destroy_directory_file_list (directory_listing);
	}

	resize_pop_up_list (save_file_list);
}