void deinitialise_game (void) { //////////////////////////////////////// // // WARNING! DEINITIALISATION ORDER IS CRITICAL. // // NOTE : MEMORY BLOCK SYSTEM CONSTRAINTS; // DONT NOT USE REGISTER_EXIT_FUNCTION // FOR DEINITIALISATION. // //////////////////////////////////////// //////////////////////////////////////// // // UPDATE FUNCTION LIST // //////////////////////////////////////// deinitialise_update_function_list (); //////////////////////////////////////// // // SAVE GAME OPTIONS FIRST // //////////////////////////////////////// save_global_options_data (); //////////////////////////////////////// // // SAVE PLAYER LIST // //////////////////////////////////////// save_player_list (); //////////////////////////////////////// // // DEINITIALISE MISSIONS // //////////////////////////////////////// deinitialise_session_list (); //////////////////////////////////////// // // DEINITIALISE AI SYSTEM // //////////////////////////////////////// deinitialise_file_tag_system (); deinitialise_ai_system (); //////////////////////////////////////// // // DEINITIALISE COMMS MANAGER // //////////////////////////////////////// deinitialise_comms_manager (); deinitialise_comms (); //////////////////////////////////////// // // INITIALISE LANGUAGE DATABASE // //////////////////////////////////////// deinitialise_language_database (); //////////////////////////////////////// // // DEINITIALISE 3D SYSTEM // //////////////////////////////////////// deinitialise_application_3d_system (); //////////////////////////////////////// // // DEINITIALISE SOUND SYSTEM // //////////////////////////////////////// deinitialise_application_sound_system (); //////////////////////////////////////// // // DEINITIALISE EVENT STACK // //////////////////////////////////////// deinitialise_event_stack (); //////////////////////////////////////// // // DEINITIALISE USER-INTERFACE // //////////////////////////////////////// deinitialise_ui_system (); deinitialise_ui_font (); deinitialise_ui_objects (); //////////////////////////////////////// // // DEINITIALISE CD PLAYER // //////////////////////////////////////// release_cd_audio_device (); //////////////////////////////////////// // // DEINITIALISE GRAPHICS FILES // //////////////////////////////////////// mclose_all_graphics_files (); //////////////////////////////////////// // // DEINITIALISE ENTITY SYSTEM // //////////////////////////////////////// deinitialise_entity_system (); //////////////////////////////////////// // // DEINITIALISE MEMORY BLOCK SYSTEM // //////////////////////////////////////// display_memory_block_system_statistics (); deinitialise_memory_block_system (); check_safe_memory_counter (); check_safe_memory_mapped_file_counter (); }
void deinitialise_game (void) { //////////////////////////////////////// // // WARNING! DEINITIALISATION ORDER IS CRITICAL. // // NOTE : MEMORY BLOCK SYSTEM CONSTRAINTS; // DONT NOT USE REGISTER_EXIT_FUNCTION // FOR DEINITIALISATION. // //////////////////////////////////////// //////////////////////////////////////// // // UPDATE FUNCTION LIST // //////////////////////////////////////// deinitialise_update_function_list (); //////////////////////////////////////// // // SAVE GAME OPTIONS FIRST // //////////////////////////////////////// save_global_options_data (); //////////////////////////////////////// // // SAVE PLAYER LIST // //////////////////////////////////////// save_player_list (); //////////////////////////////////////// // // DEINITIALISE MISSIONS // //////////////////////////////////////// deinitialise_session_list (); //////////////////////////////////////// // // DEINITIALISE AI SYSTEM // //////////////////////////////////////// deinitialise_file_tag_system (); deinitialise_ai_system (); //////////////////////////////////////// // // DEINITIALISE COMMS MANAGER // //////////////////////////////////////// deinitialise_comms_manager (); deinitialise_comms (); //Werewolf net_uninit_heartbeat(); //////////////////////////////////////// // // INITIALISE LANGUAGE DATABASE // //////////////////////////////////////// deinitialise_language_database (); //////////////////////////////////////// // // DEINITIALISE 3D SYSTEM // //////////////////////////////////////// deinitialise_application_3d_system (); //////////////////////////////////////// // // DEINITIALISE SOUND SYSTEM // //////////////////////////////////////// deinitialise_application_sound_system (); //////////////////////////////////////// // // DEINITIALISE EVENT STACK // //////////////////////////////////////// deinitialise_event_stack (); //////////////////////////////////////// // // DEINITIALISE USER-INTERFACE // //////////////////////////////////////// deinitialise_ui_system (); deinitialise_ui_font (); deinitialise_ui_objects (); //////////////////////////////////////// // // DEINITIALISE CD PLAYER // //////////////////////////////////////// release_cd_audio_device (); //////////////////////////////////////// // // DEINITIALISE GRAPHICS FILES // //////////////////////////////////////// mclose_all_graphics_files (); //////////////////////////////////////// // // DEINITIALISE ENTITY SYSTEM // //////////////////////////////////////// deinitialise_entity_system (); //////////////////////////////////////// // // Retro 12Nov2004 // TRACKIR, USERKEYMAPPING, CONTROLLERS // // hopefully the final resting place for that code.. //////////////////////////////////////// // By Retro.. 030318 // ..if TrackIR is active, tell it to stop transmitting before closing down.. if (query_TIR_active() == TRUE) ExitTrackIR(); ShutdownAxisInformation(); //////////////////////////////////////// // // INIT SHARED MEM // //////////////////////////////////////// // Retro 8Mar2005 - 14Aug2006 DeInitialise_Shared_Memory(); // we do this in any case, even if it was not set up.. // arneh - delete the ballistics tables delete_ballistics_tables(); //////////////////////////////////////// // // DEINITIALISE MEMORY BLOCK SYSTEM // //////////////////////////////////////// display_memory_block_system_statistics (); deinitialise_memory_block_system (); check_safe_memory_counter (); check_safe_memory_mapped_file_counter (); }