void initialise_campaign_screen_base_page_objects (void) { page_map_dimensions.x = MID_MAP_X; page_map_dimensions.z = MID_MAP_Z; page_map_dimensions.size = 8.0 * KILOMETRE; page_map_dimensions.subject_entity = NULL; page_map_dimensions.selected_entity = NULL; clear_map_mouse_over_object (&page_map_dimensions); set_ui_object_item_number (page_3d_area, ENTITY_INDEX_DONT_CARE); set_ui_object_item_number (page_map_area, ENTITY_INDEX_DONT_CARE); set_ui_object_drawable (page_3d_area, FALSE); set_ui_object_drawable (page_map_area, TRUE); set_ui_object_state (page_map_toggle, UI_OBJECT_STATE_ON); }
void campaign_screen_update_chat_page_pilot (entity *en) { entity *current_target; current_target = get_local_entity_safe_ptr (get_ui_object_item_number (chat_send_button)); if (current_target == en) { set_ui_object_item_number (chat_send_button, get_local_entity_safe_index (get_session_entity ())); } build_chat_target_list (); }
void notify_target_list (ui_object *obj, void *arg) { int index; index = get_ui_object_item_number (obj); if (index != ENTITY_INDEX_DONT_CARE) { set_ui_object_item_number (chat_send_button, index); build_chat_target_list (); } }
static int response_to_base_destroyed (campaign_screen_messages message, entity *sender) { if (get_local_entity_safe_index (sender) == get_ui_object_item_number (campaign_page [CAMPAIGN_PAGE_BASE])) { if (get_ui_object_drawable (campaign_page [CAMPAIGN_PAGE_BASE])) { // // Not sure yet.... For now display the map page // show_map_page (); } set_ui_object_item_number (campaign_page [CAMPAIGN_PAGE_BASE], ENTITY_INDEX_DONT_CARE); } return TRUE; }
static void notify_member_list (ui_object *obj, void *arg) { int index; entity *en, *group; index = get_ui_object_item_number (obj); en = get_local_entity_safe_ptr (index); ASSERT (en); set_ui_object_item_number (page_member_list, index); group = get_local_entity_parent (en, LIST_TYPE_MEMBER); ASSERT (group); show_weapon_loading_page (group, FALSE); }
void initialise_campaign_screen_chat_page_objects (void) { // // Set Window Mode // set_ui_object_drawable (chat_target_list_area, TRUE); set_ui_object_drawable (chat_message_list_area, FALSE); set_ui_object_state (chat_window_destination_button, UI_OBJECT_STATE_ON); // // Set Target to ALL // set_ui_object_item_number (chat_send_button, get_local_entity_safe_index (get_session_entity ())); // // Clear Text Input Area // set_ui_object_drawable (chat_input, FALSE); set_ui_object_text (chat_input, ""); set_ui_object_state (chat_input, UI_OBJECT_STATE_OFF); // // Clear Current Text Area // set_ui_object_text (chat_current_text, ""); set_ui_object_drawable (chat_current_text, TRUE); }
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); }
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); }