static void define_weapon_loading_button_object (ui_object *gunship_page, float x, float y, gunship_types gunship, weapon_loading_hardpoint_types hardpoint) { float rx, ry; rx = 0.18; ry = 0.03; ASSERT (!weapon_loading_button_list [gunship][hardpoint].valid); weapon_loading_button_list [gunship][hardpoint].valid = TRUE; weapon_loading_button_list [gunship][hardpoint].button_ptr = create_ui_object ( UI_TYPE_BUTTON, UI_ATTR_PARENT (gunship_page), UI_ATTR_VIRTUAL_POSITION (x - rx, y - ry), UI_ATTR_VIRTUAL_SIZE (rx + rx, ry + ry), UI_ATTR_ITEM_NUMBER (gunship), UI_ATTR_ITEM_NUMBER2 (hardpoint), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_FUNCTION (notify_weapon_loading_page_change_weapon), UI_ATTR_FONT_TYPE (UI_FONT_ITALIC_ARIAL_16), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); }
void define_campaign_screen_weapon_loading_page_objects (void) { float x1, y1, x2, y2; char string [256]; int loop, gunship, hardpoint; ui_object *page, *gunship_page; bar_graphic = create_texture_graphic ("graphics//ui//cohokum//map//fuelrep.psd"); ///////////////////////////////////////////////////////////////// // Main Page Area ///////////////////////////////////////////////////////////////// x1 = CAMPAIGN_INSET_PAGE_X1; y1 = CAMPAIGN_INSET_PAGE_Y1; x2 = CAMPAIGN_INSET_PAGE_X2; y2 = CAMPAIGN_INSET_PAGE_Y2; campaign_page [CAMPAIGN_PAGE_WEAPON_LOADING] = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (campaign_screen), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_DRAWABLE (FALSE), UI_ATTR_DRAW_FUNCTION (update_weapon_loading_page_objects), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); page = campaign_page [CAMPAIGN_PAGE_WEAPON_LOADING]; // // Clear buttons // for (gunship = 0; gunship < NUM_GUNSHIP_TYPES; gunship ++) { for (hardpoint = 0; hardpoint < NUM_WEAPON_LOADING_HARDPOINT_TYPES; hardpoint ++) { weapon_loading_button_list [gunship][hardpoint].valid = FALSE; weapon_loading_button_list [gunship][hardpoint].button_ptr = NULL; } } ///////////////////////////////////////////////////////////////// // Gunship Pages x1 = 0.4; y1 = 0.0; x2 = 1.0; y2 = 1.0; for (loop = 0; loop < NUM_GUNSHIP_TYPES; loop ++) { weapon_loading_page [loop] = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_DRAWABLE (FALSE), UI_ATTR_DRAW_FUNCTION (update_weapon_loading_gunship_page), UI_ATTR_END ); } ///////////////////////////////////////////////////////////////// // APACHE PAGE ///////////////////////////////////////////////////////////////// gunship = GUNSHIP_TYPE_APACHE; gunship_page = weapon_loading_page [gunship]; set_ui_object_texture_graphic (gunship_page, create_texture_graphic ("graphics//ui//cohokum//map//payapa.psd")); define_weapon_loading_button_object (gunship_page, 0.5, 0.705, gunship, WEAPON_LOADING_HARDPOINT_GUN1); define_weapon_loading_button_object (gunship_page, 0.5, 0.818, gunship, WEAPON_LOADING_HARDPOINT_INNER); define_weapon_loading_button_object (gunship_page, 0.5, 0.888, gunship, WEAPON_LOADING_HARDPOINT_OUTER); define_weapon_loading_button_object (gunship_page, 0.5, 0.959, gunship, WEAPON_LOADING_HARDPOINT_WINGTIP); ///////////////////////////////////////////////////////////////// // HAVOC PAGE ///////////////////////////////////////////////////////////////// gunship = GUNSHIP_TYPE_HAVOC; gunship_page = weapon_loading_page [gunship]; set_ui_object_texture_graphic (gunship_page, create_texture_graphic ("graphics//ui//cohokum//map//payhav.psd")); define_weapon_loading_button_object (gunship_page, 0.5, 0.664, gunship, WEAPON_LOADING_HARDPOINT_GUN1); define_weapon_loading_button_object (gunship_page, 0.5, 0.714, gunship, WEAPON_LOADING_HARDPOINT_GUN2); define_weapon_loading_button_object (gunship_page, 0.5, 0.816, gunship, WEAPON_LOADING_HARDPOINT_INNER); define_weapon_loading_button_object (gunship_page, 0.5, 0.887, gunship, WEAPON_LOADING_HARDPOINT_OUTER); ///////////////////////////////////////////////////////////////// // COMANCHE PAGE ///////////////////////////////////////////////////////////////// gunship = GUNSHIP_TYPE_COMANCHE; gunship_page = weapon_loading_page [gunship]; set_ui_object_texture_graphic (gunship_page, create_texture_graphic ("graphics//ui//cohokum//map//paycom.psd")); define_weapon_loading_button_object (gunship_page, 0.5, 0.599, gunship, WEAPON_LOADING_HARDPOINT_GUN1); define_weapon_loading_button_object (gunship_page, 0.5, 0.724, gunship, WEAPON_LOADING_HARDPOINT_INNER); define_weapon_loading_button_object (gunship_page, 0.5, 0.795, gunship, WEAPON_LOADING_HARDPOINT_MID); define_weapon_loading_button_object (gunship_page, 0.5, 0.866, gunship, WEAPON_LOADING_HARDPOINT_OUTER); define_weapon_loading_button_object (gunship_page, 0.5, 0.938, gunship, WEAPON_LOADING_HARDPOINT_WINGTIP); ///////////////////////////////////////////////////////////////// // HOKUM PAGE ///////////////////////////////////////////////////////////////// gunship = GUNSHIP_TYPE_HOKUM; gunship_page = weapon_loading_page [gunship]; set_ui_object_texture_graphic (gunship_page, create_texture_graphic ("graphics//ui//cohokum//map//payhok.psd")); define_weapon_loading_button_object (gunship_page, 0.5, 0.650, gunship, WEAPON_LOADING_HARDPOINT_GUN1); define_weapon_loading_button_object (gunship_page, 0.5, 0.699, gunship, WEAPON_LOADING_HARDPOINT_GUN2); define_weapon_loading_button_object (gunship_page, 0.5, 0.814, gunship, WEAPON_LOADING_HARDPOINT_INNER); define_weapon_loading_button_object (gunship_page, 0.5, 0.888, gunship, WEAPON_LOADING_HARDPOINT_OUTER); ///////////////////////////////////////////////////////////////// // Member List Box x1 = 0.045; y1 = 0.026; x2 = 0.405; y2 = 0.176; sprintf (string, "%s:", get_trans ("Gunship")); create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXT (string), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); x1 = 0.048; y1 = 0.125; x2 = 0.500; y2 = 0.368; page_member_area = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_VSLIDER (0, 300, 12), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); set_common_slider_graphics (page_member_area); x1 = 0.0; y1 = 0.0; x2 = 0.9; y2 = 1.0; page_member_list = create_ui_object ( UI_TYPE_LIST_BOX, UI_ATTR_PARENT (page_member_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_FUNCTION (notify_member_list), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_14), UI_ATTR_NOTIFY_ON (NOTIFY_TYPE_BUTTON_DOWN), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Default load-outs buttons x1 = 0.044; y1 = 0.347; x2 = 0.38; y2 = 0.404; sprintf (string, "%s:", get_trans ("Default Payload")); create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXT (string), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); x1 = 0.048; y1 = 0.417; x2 = 0.38; y2 = 0.576; page_default_payload_list = create_ui_object ( UI_TYPE_LIST_BOX, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_FUNCTION (notify_default_payload_list), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_14), UI_ATTR_ITEM_NUMBER (ENTITY_INDEX_DONT_CARE), UI_ATTR_NOTIFY_ON (NOTIFY_TYPE_BUTTON_DOWN), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Current Gunship Mass x1 = 0.056; y1 = 0.897; x2 = 0.358; y2 = 0.928; page_auw_text = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_RIGHT_CENTRE), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_14), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Fuel Gauge x1 = 0.044; y1 = 0.615; x2 = 0.348; y2 = 0.652; sprintf (string, "%s:", get_trans ("Fuel")); page_fuel_text = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_TEXT (string), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); x1 = 0.054; y1 = 0.662; x2 = 0.358; y2 = 0.711; page_fuel_gauge = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (create_texture_graphic ("graphics//ui//cohokum//map//smallbar.psd")), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_10), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Repairing Gauge x1 = 0.044; y1 = 0.757; x2 = 0.348; y2 = 0.800; sprintf (string, "%s:", get_trans ("Repairing")); page_repairing_text = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_TEXT (string), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); x1 = 0.054; y1 = 0.801; x2 = 0.358; y2 = 0.850; page_repairing_gauge = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (create_texture_graphic ("graphics//ui//cohokum//map//smallbar.psd")), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_10), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // "Divider" graphics x1 = 0.021; y1 = 0.035; x2 = 0.389; y2 = 0.058; create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (common_divider_graphic), UI_ATTR_END ); //////////////////////////////////// x1 = 0.021; y1 = 0.321; x2 = 0.389; y2 = 0.344; create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (common_divider_graphic), UI_ATTR_END ); //////////////////////////////////// x1 = 0.021; y1 = 0.576; x2 = 0.389; y2 = 0.599; create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (common_divider_graphic), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // BACK button define_campaign_page_back_button (page, &page_back_button); }
ui_object *add_to_pop_up_list (char *text, ui_object *obj, ui_object *next_item, int list_id, int font_type, rgb_colour font_colour) { notify_types notify_on, highlighted_notify_on; ui_object *text_obj; int highlighted_font_type; float x_pos, list_x_size, list_y_size, new_position; rgb_colour highlighted_font_colour; // ASSERT (obj); // /* if (!obj) { return NULL; } */ // // // list_x_size = 1.0; //get_ui_object_x_size (obj) - 5; list_y_size = ui_get_font_height () / get_ui_object_y_size (obj); new_position = get_next_list_virtual_position (obj); // // If invalid font type specified, use the list box font type // if ((font_type < 0) || (font_type >= NUM_FONT_TYPES)) { font_type = get_ui_object_font_type (obj); } highlighted_font_type = get_ui_object_highlighted_font_type (obj); // // If invalid font colour specified, use the list box font colour // notify_on = get_ui_object_notify_on (obj); highlighted_notify_on = get_ui_object_highlighted_notify_on (obj); highlighted_font_colour = get_ui_object_highlighted_font_colour (obj); x_pos = 5.0 / get_ui_object_x_size (obj); text_obj = create_ui_object ( UI_TYPE_TEXT, UI_ATTR_NEXT (next_item), UI_ATTR_PARENT (obj), UI_ATTR_LIST_ITEM, UI_ATTR_VIRTUAL_SIZE (list_x_size, list_y_size), UI_ATTR_VIRTUAL_POSITION (x_pos, new_position), UI_ATTR_FONT_TYPE (font_type), UI_ATTR_FONT_COLOUR (font_colour.r, font_colour.g, font_colour.b, font_colour.a), UI_ATTR_HIGHLIGHTED_FONT_TYPE (highlighted_font_type), UI_ATTR_HIGHLIGHTED_FONT_COLOUR (highlighted_font_colour.r, highlighted_font_colour.g, highlighted_font_colour.b, highlighted_font_colour.a), UI_ATTR_TEXT (text), UI_ATTR_ITEM_NUMBER (list_id), UI_ATTR_ITEM_NUMBER2 (UI_LIST_NO_SELECTION), UI_ATTR_FUNCTION (ui_object_list_item_function), UI_ATTR_RIGHT_FUNCTION (ui_object_list_item_right_function), UI_ATTR_NOTIFY_ON (notify_on), UI_ATTR_HIGHLIGHTED_NOTIFY_ON (highlighted_notify_on), UI_ATTR_END ); // // Set list box to redraw, and parents if its clear. // set_ui_object_redraw (obj, TRUE); while ((obj) && (get_ui_object_clear (obj))) { obj = get_ui_object_parent (obj); if (obj) { set_ui_object_redraw (obj, TRUE); } } return text_obj; }
void define_campaign_screen_chat_page_objects (void) { float x1, y1, x2, y2; ui_object *page; char string [256]; ///////////////////////////////////////////////////////////////// // Main Page Area ///////////////////////////////////////////////////////////////// x1 = CAMPAIGN_INSET_PAGE_X1; y1 = CAMPAIGN_INSET_PAGE_Y1; x2 = CAMPAIGN_INSET_PAGE_X2; y2 = CAMPAIGN_INSET_PAGE_Y2; campaign_page [CAMPAIGN_PAGE_CHAT] = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (campaign_screen), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_CENTRE_TOP), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_14), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_DRAWABLE (FALSE), UI_ATTR_DRAW_FUNCTION (update_chat_page_objects), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); page = campaign_page [CAMPAIGN_PAGE_CHAT]; ///////////////////////////////////////////////////////////////// // Chat Target/Message Window x1 = 0.0; y1 = 0.068; x2 = 0.502; y2 = 0.109; chat_window_mode_area = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (create_texture_graphic ("graphics\\ui\\cohokum\\map\\chattabs.psd")), UI_ATTR_END ); x1 = 0.0; y1 = 0.0; x2 = 0.5; y2 = 1.0; chat_window_destination_button = create_ui_object ( UI_TYPE_RADIO, UI_ATTR_PARENT (chat_window_mode_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_TEXT (get_trans ("Destination")), UI_ATTR_FUNCTION (notify_show_destinations), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); set_ingame_ui_object_mouse_over_properties (chat_window_destination_button); x1 = 0.5; y1 = 0.0; x2 = 1.0; y2 = 1.0; chat_window_message_button = create_ui_object ( UI_TYPE_RADIO, UI_ATTR_PARENT (chat_window_mode_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_TEXT (get_trans ("Messages")), UI_ATTR_FUNCTION (notify_show_messages), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); set_ingame_ui_object_mouse_over_properties (chat_window_message_button); x1 = 0.057; y1 = 0.152; x2 = 0.931; y2 = 0.625; chat_window_area = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Target List Area x1 = 0.0; y1 = 0.0; x2 = 1.0; y2 = 1.0; chat_target_list_area = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (chat_window_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_VSLIDER (0, 300, 12), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); set_common_slider_graphics (chat_target_list_area); // List Box x1 = 0.0; y1 = 0.0; x2 = 0.95; y2 = 1.0; chat_target_list = create_ui_object ( UI_TYPE_LIST_BOX, UI_ATTR_PARENT (chat_target_list_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_CLEAR (TRUE), UI_ATTR_FUNCTION (notify_target_list), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_ITEM_NUMBER (ENTITY_INDEX_DONT_CARE), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Message list x1 = 0.0; y1 = 0.0; x2 = 1.0; y2 = 1.0; chat_message_list_area = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (chat_window_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_CLEAR (TRUE), UI_ATTR_VSLIDER (0, 300, 12), UI_ATTR_END ); set_common_slider_graphics (chat_message_list_area); x1 = 0.0; y1 = 0.0; x2 = 0.95; y2 = 1.0; chat_message_list = create_ui_object ( UI_TYPE_LIST_BOX, UI_ATTR_PARENT (chat_message_list_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_NOTIFY_ON (NOTIFY_TYPE_NONE), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Chat Text area x1 = 0.100; y1 = 0.720; x2 = 0.876; y2 = 0.756; sprintf (string, "%s:", get_trans ("Enter Message")); create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_TEXT (string), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); x1 = 0.123; y1 = 0.762; x2 = 0.876; y2 = 0.834; chat_text_area = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (create_texture_graphic ("graphics\\ui\\cohokum\\map\\msgbar.psd")), UI_ATTR_FUNCTION (chat_enter_message_function), UI_ATTR_END ); // Chat Input x1 = 0.04; y1 = 0.25; x2 = 1.0; y2 = 1.0; chat_input = create_ui_object ( UI_TYPE_INPUT, UI_ATTR_PARENT (chat_text_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_FONT_COLOUR (ui_ingame_selected_text_colour.r, ui_ingame_selected_text_colour.g, ui_ingame_selected_text_colour.b, ui_ingame_selected_text_colour.a), UI_ATTR_FUNCTION (chat_input_function), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_TEXT (""), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); // Chat Output x1 = 0.04; y1 = 0.16; x2 = 1.0; y2 = 1.0; chat_current_text = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (chat_text_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_TEXT (""), UI_ATTR_FUNCTION (chat_enter_message_function), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Send Button x1 = 0.235; y1 = 0.834; x2 = 0.763; y2 = 0.884; chat_send_button = create_ui_object ( UI_TYPE_BUTTON, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_TEXT (get_trans ("UI_SEND")), UI_ATTR_FUNCTION (notify_send_message), UI_ATTR_DRAW_FUNCTION (draw_chat_send_button), UI_ATTR_TEXTURE_GRAPHIC (create_texture_graphic ("graphics\\ui\\cohokum\\map\\sendbtn.psd")), UI_ATTR_END ); set_ingame_ui_object_mouse_over_properties (chat_send_button); ///////////////////////////////////////////////////////////////// // "Divider" graphics x1 = 0.022; y1 = 0.109; x2 = 0.971; y2 = 0.133; create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (common_divider_graphic), UI_ATTR_END ); x1 = 0.022; y1 = 0.644; x2 = 0.971; y2 = 0.667; create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (common_divider_graphic), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // BACK button define_campaign_page_back_button (page, &page_back_button); }
void define_campaign_screen_save_page_objects (void) { float x1, y1, x2, y2; ui_object *page; char string [256]; ///////////////////////////////////////////////////////////////// // Main Page Area ///////////////////////////////////////////////////////////////// x1 = CAMPAIGN_INSET_PAGE_X1; y1 = CAMPAIGN_INSET_PAGE_Y1; x2 = CAMPAIGN_INSET_PAGE_X2; y2 = CAMPAIGN_INSET_PAGE_Y2; campaign_page [CAMPAIGN_PAGE_SAVE] = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (campaign_screen), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_CENTRE_TOP), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_14), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_DRAWABLE (FALSE), UI_ATTR_DRAW_FUNCTION (update_save_page_objects), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); page = campaign_page [CAMPAIGN_PAGE_SAVE]; ///////////////////////////////////////////////////////////////// // Target List Area x1 = 0.057; y1 = 0.152; x2 = 0.931; y2 = 0.625; save_file_list_area = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_VSLIDER (0, 300, 12), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); set_common_slider_graphics (save_file_list_area); // List Box x1 = 0.0; y1 = 0.0; x2 = 0.95; y2 = 1.0; save_file_list = create_ui_object ( UI_TYPE_LIST_BOX, UI_ATTR_PARENT (save_file_list_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_CLEAR (TRUE), UI_ATTR_FUNCTION (notify_save_file_list), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_ITEM_NUMBER (ENTITY_INDEX_DONT_CARE), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Save Dialog Box x1 = 0.123; y1 = 0.762; x2 = 0.876; y2 = 0.834; save_text_area = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (create_texture_graphic ("graphics//ui//cohokum//map//msgbar.psd")), UI_ATTR_FUNCTION (save_enter_filename_function), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Filename Input x1 = 0.04; y1 = 0.18; x2 = 1.0; y2 = 1.0; save_filename_input = create_ui_object ( UI_TYPE_INPUT, UI_ATTR_PARENT (save_text_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_FONT_COLOUR (ui_ingame_selected_text_colour.r, ui_ingame_selected_text_colour.g, ui_ingame_selected_text_colour.b, ui_ingame_selected_text_colour.a), UI_ATTR_FUNCTION (filename_input_function), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); x1 = 0.04; y1 = 0.0; x2 = 1.0; y2 = 1.0; save_current_filename = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (save_text_area), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_TEXT (""), UI_ATTR_CLEAR (TRUE), UI_ATTR_FUNCTION (save_enter_filename_function), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Enter Filename Text x1 = 0.100; y1 = 0.720; x2 = 0.876; y2 = 0.756; sprintf (string, "%s:", get_trans ("ENTER_SAVE_GAME_FILENAME")); create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_FONT_COLOUR (ui_ingame_dead_text_colour.r, ui_ingame_dead_text_colour.g, ui_ingame_dead_text_colour.b, ui_ingame_dead_text_colour.a), UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE), UI_ATTR_TEXT (string), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // Confirm Button x1 = 0.320; y1 = 0.834; x2 = 0.672; y2 = 0.884; save_game_confirm_button = create_ui_object ( UI_TYPE_BUTTON, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXT (get_trans ("Save")), UI_ATTR_FONT_TYPE (UI_FONT_ARIAL_16), UI_ATTR_FUNCTION (save_game_function), UI_ATTR_TEXTURE_GRAPHIC (create_texture_graphic ("graphics//ui//cohokum//map//cbtn.psd")), UI_ATTR_END ); set_ingame_ui_object_mouse_over_properties (save_game_confirm_button); ///////////////////////////////////////////////////////////////// // "Divider" graphics x1 = 0.022; y1 = 0.109; x2 = 0.971; y2 = 0.133; create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (common_divider_graphic), UI_ATTR_END ); x1 = 0.022; y1 = 0.644; x2 = 0.971; y2 = 0.667; create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (page), UI_ATTR_VIRTUAL_POSITION (x1, y1), UI_ATTR_VIRTUAL_SIZE (x2 - x1, y2 - y1), UI_ATTR_TEXTURE_GRAPHIC (common_divider_graphic), UI_ATTR_END ); ///////////////////////////////////////////////////////////////// // BACK button define_campaign_page_back_button (page, &page_back_button); }
void define_russian_medal_objects (void) { int i; // don't bother with text for object MEDAL_TYPE_NONE russian_medal_info_array [MEDAL_LEBANON].name = get_trans ("Medal SV Lebanon"); russian_medal_info_array [MEDAL_LEBANON].info = get_trans ("Medal Campaign"); russian_medal_info_array [MEDAL_SAUDI].name = get_trans ("Medal SV Yemen"); russian_medal_info_array [MEDAL_SAUDI].info = get_trans ("Medal Campaign"); russian_medal_info_array [MEDAL_TAIWAN].name = get_trans ("Medal SV Taiwan"); russian_medal_info_array [MEDAL_TAIWAN].info = get_trans ("Medal Campaign"); russian_medal_info_array [MEDAL_ARMY_AVIATOR].name = get_trans ("Medal SV Army Wings"); russian_medal_info_array [MEDAL_ARMY_AVIATOR].info = get_trans ("Medal Army Aviator"); russian_medal_info_array [MEDAL_SENIOR_AVIATOR].name = get_trans ("Medal SV Senior Wings"); russian_medal_info_array [MEDAL_SENIOR_AVIATOR].info = get_trans ("Medal Senior Aviator"); russian_medal_info_array [MEDAL_MASTER_AVIATOR].name = get_trans ("Medal SV Master Wings"); russian_medal_info_array [MEDAL_MASTER_AVIATOR].info = get_trans ("Medal Master Aviator"); russian_medal_info_array [MEDAL_PURPLE_HEART].name = get_trans ("Medal SV Glory"); russian_medal_info_array [MEDAL_PURPLE_HEART].info = get_trans ("Medal Injury"); russian_medal_info_array [MEDAL_AIR_MEDAL].name = get_trans ("Medal SV Banner"); russian_medal_info_array [MEDAL_AIR_MEDAL].info = get_trans ("Medal Valour"); russian_medal_info_array [MEDAL_FLYING_CROSS].name = get_trans ("Medal SV Lenin"); russian_medal_info_array [MEDAL_FLYING_CROSS].info = get_trans ("Medal Valour"); russian_medal_info_array [MEDAL_SILVER_STAR].name = get_trans ("Medal SV Service"); russian_medal_info_array [MEDAL_SILVER_STAR].info = get_trans ("Medal Valour"); russian_medal_info_array [MEDAL_DISTINGUISHED_SERVICE].name = get_trans ("Medal SV Victory"); russian_medal_info_array [MEDAL_DISTINGUISHED_SERVICE].info = get_trans ("Medal Valour"); russian_medal_info_array [MEDAL_MEDAL_OF_HONOUR].name = get_trans ("Medal SV Star"); russian_medal_info_array [MEDAL_MEDAL_OF_HONOUR].info = get_trans ("Medal Valour"); ///////////////////////////////////////////////////////////////// // Medals Areas russian_area = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (player_medals_screen), UI_ATTR_VIRTUAL_POSITION (0.0, 0.0), UI_ATTR_VIRTUAL_SIZE (1.0, 1.0), UI_ATTR_COLOUR_START (255,255,255,0), UI_ATTR_COLOUR_END (255,255,255,255), UI_ATTR_DRAWABLE (FALSE), UI_ATTR_CLEAR (TRUE), UI_ATTR_END ); // create basic medal ui objects for (i = 0; i < NUMBER_OF_MEDAL_GRAPHICS; i++) { russian_medal_objects [i] = create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (russian_area), UI_ATTR_VIRTUAL_POSITION (russian_medal_graphic_array[i].x1, russian_medal_graphic_array[i].y1), UI_ATTR_VIRTUAL_SIZE (russian_medal_graphic_array[i].x2, russian_medal_graphic_array[i].y2), UI_ATTR_COLOUR_START (255,255,255,0), UI_ATTR_COLOUR_END (255,255,255,255), UI_ATTR_END ); } // create highlight areas for (i = MEDAL_TYPE_NONE; i < NUM_MEDAL_TYPES; i++) { create_ui_object ( UI_TYPE_AREA, UI_ATTR_PARENT (russian_area), UI_ATTR_VIRTUAL_POSITION (russian_medal_info_array [i].x1, russian_medal_info_array [i].y1), UI_ATTR_VIRTUAL_SIZE (russian_medal_info_array [i].x2, russian_medal_info_array [i].y2), UI_ATTR_CLEAR (TRUE), UI_ATTR_HIGHLIGHTABLE (TRUE), UI_ATTR_ITEM_NUMBER ( i ), UI_ATTR_ASSOCIATION (medals_text_info), UI_ATTR_HIGHLIGHTED_FUNCTION (highlight_russian_medal_info), UI_ATTR_HIGHLIGHTED_NOTIFY_ON (NOTIFY_TYPE_BUTTON_EITHER), #if DEBUG_MODULE UI_ATTR_FUNCTION (notify_award_clicked_medal), UI_ATTR_NOTIFY_ON (NOTIFY_TYPE_BUTTON_UP), #endif UI_ATTR_END ); } }