void unpause_cd_audio ( void ) { if ( cdrom_device_captured ) { MCI_PLAY_PARMS pause_parameters; DWORD value; pause_parameters.dwCallback = 0; value = mciSendCommand ( cdrom_device_id, MCI_PLAY, 0, ( DWORD ) ( LPVOID ) &pause_parameters ); if ( value ) { // // Ditch the cd player! // debug_log ( "Unable to pause cd" ); release_cd_audio_device (); } } }
void stop_cd_audio ( void ) { if ( cdrom_device_captured ) { MCI_PLAY_PARMS stop_parameters; DWORD value; stop_parameters.dwCallback = 0; cdrom_track_repeat = FALSE; value = mciSendCommand ( cdrom_device_id, MCI_PAUSE, 0, ( DWORD ) ( LPVOID ) &stop_parameters ); if ( value ) { // // Ditch the cd player! // debug_log ( "Unable to stop cd" ); release_cd_audio_device (); } } }
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 (); }
int internal_play_cd_audio_track ( void *data ) { int track; track = *( ( int * ) data ); if ( cdrom_device_captured ) { MCI_PLAY_PARMS play_parameters; MCI_STATUS_PARMS status_parameters; DWORD value; status_parameters.dwItem = MCI_STATUS_LENGTH; status_parameters.dwTrack = track; value = mciSendCommand ( cdrom_device_id, MCI_STATUS, ( MCI_TRACK | MCI_STATUS_ITEM ), ( DWORD ) ( LPVOID ) &status_parameters ); if ( value ) { debug_log ( "Unable to get track length" ); } else { int minutes, seconds, frames; minutes = MCI_MSF_MINUTE ( status_parameters.dwReturn ), seconds = MCI_MSF_SECOND ( status_parameters.dwReturn ), frames = MCI_MSF_FRAME ( status_parameters.dwReturn ), play_parameters.dwFrom = 0; play_parameters.dwTo = 0; play_parameters.dwFrom = MCI_MAKE_TMSF ( track, 0, 0, 0 ); play_parameters.dwTo = MCI_MAKE_TMSF ( track, minutes, seconds, frames ); play_parameters.dwCallback = ( DWORD ) application_window; value = mciSendCommand ( cdrom_device_id, MCI_PLAY, ( MCI_FROM | MCI_TO | MCI_NOTIFY ), ( DWORD ) ( LPVOID ) &play_parameters ); if ( value ) { // // Ditch the cd player! // debug_log ( "Unable to play cd" ); release_cd_audio_device (); } else { cdrom_audio_track_playing = TRUE; } } } return ( TRUE ); }