// --------------------------------------------------------------------- // mission_hotkey_init() // // Initialize the hotkey assignment screen system. Called when GS_STATE_HOTKEY_SCREEN // is entered. // void mission_hotkey_init() { int i; hotkey_buttons *b; // pause all beam weapon sounds beam_pause_sounds(); // pause all game music audiostream_pause_all(); reset_hotkeys(); common_set_interface_palette(); // set the interface palette Ui_window.create(0, 0, gr_screen.max_w, gr_screen.max_h, 0); Ui_window.set_mask_bmap(Hotkey_mask_fname[gr_screen.res]); for (i=0; i<NUM_BUTTONS; i++) { b = &Buttons[gr_screen.res][i]; b->button.create(&Ui_window, "", b->x, b->y, 60, 30, i < 2 ? 1 : 0, 1); // set up callback for when a mouse first goes over a button b->button.set_highlight_action(common_play_highlight_sound); b->button.set_bmaps(b->filename); b->button.link_hotspot(b->hotspot); } // add all xstr text for(i=0; i<HOTKEY_NUM_TEXT; i++) { Ui_window.add_XSTR(&Hotkey_text[gr_screen.res][i]); } for (i=0; i<LIST_BUTTONS_MAX; i++) { List_buttons[i].create(&Ui_window, "", 0, 0, 60, 30, (i < 2), 1); List_buttons[i].hide(); List_buttons[i].disable(); } // set up hotkeys for buttons so we draw the correct animation frame when a key is pressed Buttons[gr_screen.res][SCROLL_UP_BUTTON].button.set_hotkey(KEY_PAGEUP); Buttons[gr_screen.res][SCROLL_DOWN_BUTTON].button.set_hotkey(KEY_PAGEDOWN); // ensure help overlay is off help_overlay_set_state(HOTKEY_OVERLAY,0); // load in relevant bitmaps Background_bitmap = bm_load(Hotkey_background_fname[gr_screen.res]); if (Background_bitmap < 0) { // bitmap didnt load -- this is bad Int3(); } Wing_bmp = bm_load("WingDesignator"); if (Wing_bmp < 0) { // bitmap didnt load -- this is bad Int3(); } Scroll_offset = 0; Selected_line = 1; hotkey_build_listing(); }
void expand_wing() { int i, z; if (Hotkey_lines[Selected_line].type == HOTKEY_LINE_WING) { i = Hotkey_lines[Selected_line].index; Wings[i].flags ^= WF_EXPANDED; hotkey_build_listing(); for (z=0; z<Num_lines; z++) if ((Hotkey_lines[z].type == HOTKEY_LINE_WING) && (Hotkey_lines[z].index == i)) { Selected_line = z; break; } } }
void expand_wing() { int i, z; if (Hotkey_lines[Selected_line].type == HOTKEY_LINE_WING) { i = Hotkey_lines[Selected_line].index; Wings[i].flags.toggle(Ship::Wing_Flags::Expanded); hotkey_build_listing(); for (z=0; z<Num_lines; z++) if ((Hotkey_lines[z].type == HOTKEY_LINE_WING) && (Hotkey_lines[z].index == i)) { Selected_line = z; break; } } }