Exemple #1
0
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 ();
		}
	}
}
Exemple #2
0
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 ();
		}
	}
}
Exemple #3
0
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 ();
}
Exemple #4
0
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 ();
}
Exemple #5
0
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 );
}