// close void loop_brief_close() { // this makes sure that we're all cool no matter how the user decides to exit mission_campaign_mission_over(); // free the bitmap if (Loop_brief_bitmap >= 0){ bm_release(Loop_brief_bitmap); } Loop_brief_bitmap = -1; // destroy the window Loop_brief_window.destroy(); if (Loop_anim.num_frames > 0) { generic_anim_unload(&Loop_anim); } // stop voice if(Loop_sound != -1){ audiostream_stop(Loop_sound, 1, 0); audiostream_close_file(Loop_sound, 1); Loop_sound = -1; } fsspeech_stop(); // stop music common_music_close(); }
void cutscenes_screen_close() { if (Background_bitmap) bm_release(Background_bitmap); Ui_window.destroy(); }
// called when a popup goes away void popup_close(popup_info *pi, int screen_id) { int i; gamesnd_play_iface(SND_POPUP_DISAPPEAR); // play sound when popup disappears for (i=0; i<pi->nchoices; i++ ) { if ( pi->button_text[i] != NULL ) { vm_free(pi->button_text[i]); pi->button_text[i] = NULL; } } if(screen_id >= 0){ gr_free_screen(screen_id); } Popup_window.destroy(); anim_ignore_next_frametime(); // to avoid skips in animation since next frametime is saturated game_flush(); Popup_is_active = 0; Popup_running_state = 0; // anytime in single player, and multiplayer, not in mission, go ahead and stop time if ( (Game_mode & GM_NORMAL) || ((Game_mode & GM_MULTIPLAYER) && !(Game_mode & GM_IN_MISSION)) ) game_start_time(); }
void cmd_brief_close() { int i; if (Cmd_brief_inited) { cmd_brief_stop_anim(); generic_anim_unload(&Cur_Anim); for (i=0; i<Cur_cmd_brief->num_stages; i++) { if (Cur_cmd_brief->stage[i].wave >= 0) audiostream_close_file(Cur_cmd_brief->stage[i].wave, 0); } // so that the same ani will reload properly upon return Cur_anim_filename = "~~~~"; if (Cmd_brief_background_bitmap >= 0) bm_release(Cmd_brief_background_bitmap); // unload the overlay bitmap help_overlay_unload(CMD_BRIEF_OVERLAY); Ui_window.destroy(); game_flush(); Cmd_brief_inited = 0; } // Stop any speech from running over fsspeech_stop(); }
// close the pause screen void pause_close() { // if we're not paused - do nothing if ( !Paused ) { return; } Assert( !(Game_mode & GM_MULTIPLAYER) ); // unpause all weapon sounds weapon_unpause_sounds(); // deinit stuff if(Pause_saved_screen != -1) { gr_free_screen(Pause_saved_screen); Pause_saved_screen = -1; } if (Pause_background_bitmap != -1){ bm_release(Pause_background_bitmap); Pause_background_bitmap = -1; } Pause_win.destroy(); game_flush(); // unpause all the music audiostream_unpause_all(); Paused = 0; }
// ----------------------------------------------------------------------------- void barracks_close() { // destroy window Ui_window.destroy(); // release background bitmap if (Background_bitmap >= 0) { bm_release(Background_bitmap); } // release rank pip bitmaps bm_release(Rank_pips_bitmaps); // release pilot pic bitmaps for (int i=0; i<Num_pilot_images; i++) { if (Pilot_images[i] >= 0) { bm_release(Pilot_images[i]); } } if(Stat_labels != NULL) { delete[] Stat_labels; Stat_labels = NULL; } if(Stats != NULL) { delete[] Stats; Stats = NULL; } game_flush(); }
void chatbox_close() { if (!Chatbox_created) return; // destory the UI window Chat_window.destroy(); // unload any bitmaps if (Chatbox_small_bitmap != -1) { bm_release(Chatbox_small_bitmap); Chatbox_small_bitmap = -1; } if (Chatbox_big_bitmap != -1) { bm_release(Chatbox_big_bitmap); Chatbox_big_bitmap = -1; } if (Chatbox_mp_bitmap != -1) { bm_release(Chatbox_mp_bitmap); Chatbox_mp_bitmap = -1; } // clear all the text lines in the chatbox_clear(); Chatbox_created = 0; }
// close void fiction_viewer_close() { if (!Fiction_viewer_inited) return; // free the fiction fiction_viewer_reset(); // destroy the window Fiction_viewer_window.destroy(); // restore the old font use_std_font(); // free the bitmap if (Fiction_viewer_bitmap >= 0) bm_release(Fiction_viewer_bitmap); Fiction_viewer_bitmap = -1; // maybe stop music if (Mission_music[SCORE_FICTION_VIEWER] != Mission_music[SCORE_BRIEFING]) common_music_close(); game_flush(); Fiction_viewer_inited = 0; }
void mht_close() { // unload any bitmaps if(!bm_unload(Mht_bitmap)){ nprintf(("General","WARNING : could not unload background bitmap %s\n", Mht_bitmap_fname[gr_screen.res])); } // destroy the UI_WINDOW Mht_window.destroy(); }
// called once when leaving the gameplay help state void gameplay_help_close() { if ( Gameplay_help_inited ) { if (Background_bitmap >= 0) { bm_release(Background_bitmap); } Ui_window.destroy(); common_free_interface_palette(); // restore game palette game_flush(); } Gameplay_help_inited = 0; }
// Close down the dead popup void popupdead_close() { if ( !Popupdead_active ) { return; } gamesnd_play_iface(SND_POPUP_DISAPPEAR); Popupdead_window.destroy(); game_flush(); Popupdead_active = 0; Popupdead_skip_active = 0; Popupdead_skip_already_shown = 0; }
void pilot_manage_close(void) { // destroy window Ui_window.destroy(); // release background bitmap if (Background_bitmap >= 0) { bm_unload(Background_bitmap); } // unload the overlay bitmap // fix it help_overlay_unload(PILOT_MANAGE_OVERLAY); game_flush(); }
// close the popup void multi_pinfo_popup_close() { int idx; // unload any bitmaps if (Multi_pinfo_bitmap != -1) { bm_release(Multi_pinfo_bitmap); } // free the background screen if possible if (Multi_pinfo_screen_save >= 0) { gr_free_screen(Multi_pinfo_screen_save); } // release the pilot/squad images if (Mp_pilot.bitmap != -1) { bm_release(Mp_pilot.bitmap); } if (Mp_squad.bitmap != -1) { bm_release(Mp_squad.bitmap); } // free up strings for (idx = 0; idx < MULTI_PINFO_NUM_STATS_LABELS; idx++) { if (Multi_pinfo_stats_labels[idx] != NULL) { vm_free(Multi_pinfo_stats_labels[idx]); Multi_pinfo_stats_labels[idx] = NULL; } } // unset the player handle Multi_pinfo_popup_player = NULL; // mark the popup as not running Multi_pinfo_popup_running = 0; // destroy the UI_WINDOW Multi_pinfo_window.destroy(); // restore hardware textures detail level Detail.hardware_textures = Multi_pinfo_hardware_texture_backup; }
void credits_close() { int i; /* if (CreditsWin01 != -1){ bm_unload(CreditsWin01); CreditsWin01 = -1; } if (CreditsWin02 != -1){ bm_unload(CreditsWin02); CreditsWin02 = -1; } if (CreditsWin03 != -1){ bm_unload(CreditsWin03); CreditsWin03 = -1; } if (CreditsWin04 != -1){ bm_unload(CreditsWin04); CreditsWin04 = -1; } */ for (i=0; i<NUM_IMAGES; i++){ if (Credits_bmps[i] >= 0){ bm_release(Credits_bmps[i]); Credits_bmps[i] = -1; } } credits_stop_music(); if (Credit_text) { if (Credit_text_malloced){ vm_free(Credit_text); } Credit_text = NULL; } if (Background_bitmap){ bm_release(Background_bitmap); } Ui_window.destroy(); common_free_interface_palette(); // restore game palette }
// --------------------------------------------------------------------- // mission_hotkey_close() // // Cleanup the hotkey assignment screen system. Called when GS_STATE_HOTKEY_SCREEN // is left. // void mission_hotkey_close() { if (Background_bitmap) bm_release(Background_bitmap); if (Wing_bmp >= 0) bm_release(Wing_bmp); // unpause all weapon sounds weapon_unpause_sounds(); // unpause all game music audiostream_unpause_all(); Ui_window.destroy(); common_free_interface_palette(); // restore game palette game_flush(); }
void techroom_close() { fsspeech_stop(); techroom_lists_reset(); Techroom_show_all = 0; if (Tech_background_bitmap) { bm_release(Tech_background_bitmap); } Ui_window.destroy(); common_free_interface_palette(); // restore game palette if (Palette_bmp){ bm_release(Palette_bmp); } }
void hud_scrollback_close() { ML_objectives_close(); message_log_shutdown_scrollback(); if (Background_bitmap >= 0) bm_release(Background_bitmap); //if (Status_bitmap >= 0) // bm_unload(Status_bitmap); Ui_window.destroy(); common_free_interface_palette(); // restore game palette game_flush(); // unpause all game sounds weapon_unpause_sounds(); audiostream_unpause_all(); }
// cleanup called when exiting the show goals screen void mission_show_goals_close() { if (Goals_screen_bg_bitmap >= 0) bm_release(Goals_screen_bg_bitmap); if (Goal_complete_bitmap) bm_release(Goal_complete_bitmap); if (Goal_incomplete_bitmap) bm_release(Goal_incomplete_bitmap); if (Goal_failed_bitmap) bm_release(Goal_failed_bitmap); Goals_screen_ui_window.destroy(); common_free_interface_palette(); // restore game palette game_flush(); }
void multi_pause_close(int end_mission) { if ( !Multi_paused ) return; // set the standalonest if (Game_mode & GM_STANDALONE_SERVER) { std_debug_set_standalone_state_string("Game play"); } else { // free the screen up if ( end_mission && (Multi_paused_screen_id >= 0) ) { gr_free_screen(Multi_paused_screen_id); Multi_paused_screen_id = -1; } if (Multi_paused_background >= 0) { bm_release(Multi_paused_background); Multi_paused_background = -1; } Multi_paused_window.destroy(); game_flush(); // unpause all the music audiostream_unpause_all(); } // unpause beam weapon sounds weapon_unpause_sounds(); // eat keys timestamp Multi_pause_eat = f2fl(timer_get_fixed_seconds()); // reset timestamps multi_reset_timestamps(); // clear out control config and keypress info control_config_clear_used_status(); key_flush(); Multi_paused = 0; }
// --------------------------------------------------------------------- // mission_hotkey_close() // // Cleanup the hotkey assignment screen system. Called when GS_STATE_HOTKEY_SCREEN // is left. // void mission_hotkey_close() { if (Background_bitmap) bm_unload(Background_bitmap); if (Wing_bmp >= 0) bm_unload(Wing_bmp); // unload the overlay bitmap // help_overlay_unload(HOTKEY_OVERLAY); // unpause all beam weapon sounds beam_unpause_sounds(); // unpause all game music audiostream_unpause_all(); Ui_window.destroy(); common_free_interface_palette(); // restore game palette game_flush(); }
void credits_close() { int i; for (i=0; i<Credits_num_images; i++) { if (Credits_bmps[i] >= 0){ bm_release(Credits_bmps[i]); } } Credits_bmps.clear(); credits_stop_music(true); Credit_text_parts.clear(); if (Background_bitmap){ bm_release(Background_bitmap); } Ui_window.destroy(); common_free_interface_palette(); // restore game palette }
// Called once when the red alert interface is exited void red_alert_close() { if (Red_alert_inited) { red_alert_voice_stop(); red_alert_voice_unload(); weapon_select_close_team(); if (Background_bitmap >= 0) { bm_release(Background_bitmap); } Ui_window.destroy(); // bm_unload(&Flash_anim); common_free_interface_palette(); // restore game palette game_flush(); } Red_alert_inited = 0; fsspeech_stop(); }
// debug pause close void pause_debug_close() { last_single_step = 0; // Make so single step waits a frame before stepping Pause_win.destroy(); game_flush(); }
void player_select_close() { // destroy the player select window Player_select_window.destroy(); // if we're in input mode - we should undo the pilot create reqeust if(Player_select_input_mode) { player_select_cancel_create(); } // if we are just exiting then don't try to save any pilot files - taylor if (Player_select_no_save_pilot) { Player = NULL; return; } // actually set up the Player struct here if ( (Player_select_pilot == -1) || (Player_select_num_pilots == 0) ) { nprintf(("General","WARNING! No pilot selected! We should be exiting the game now!\n")); return; } // unload all bitmaps if(Player_select_background_bitmap >= 0) { bm_release(Player_select_background_bitmap); Player_select_background_bitmap = -1; } // if(Player_select_palette >= 0){ // bm_release(Player_select_palette); //Player_select_palette = -1; // } // setup the player struct Player_num = 0; Player = &Players[0]; Player->flags |= PLAYER_FLAGS_STRUCTURE_IN_USE; // New pilot file makes no distinction between multi pilots and regular ones, so let's do this here. if (Player_select_mode == PLAYER_SELECT_MODE_MULTI) { Player->flags |= PLAYER_FLAGS_IS_MULTI; } // WMC - Set appropriate game mode if ( Player->flags & PLAYER_FLAGS_IS_MULTI ) { Game_mode = GM_MULTIPLAYER; } else { Game_mode = GM_NORMAL; } // now read in a the pilot data if ( !Pilot.load_player(Pilots[Player_select_pilot], Player) ) { Error(LOCATION,"Couldn't load pilot file, bailing"); Player = NULL; } else { // NOTE: this may fail if there is no current campaign, it's not fatal Pilot.load_savefile(Player->current_campaign); } if (Player_select_force_main_hall != "") { main_hall_init(Player_select_force_main_hall); } // free memory from all parsing so far, all tbls found during game_init() // and the current campaign which we loaded here stop_parse(); Player_select_screen_active = 0; }