Пример #1
0
int night_vision_active(void)
{
	switch (get_global_gunship_type ())
	{
	case GUNSHIP_TYPE_APACHE:
		return apache_pnvs_active();
	}
	
	return night_vision_system_active;
}
Пример #2
0
void display_hud_on_external_view (void)
{
	if (get_gunship_entity ())
	{
		switch (get_global_gunship_type ())
		{
			////////////////////////////////////////
			case GUNSHIP_TYPE_APACHE:
			////////////////////////////////////////
			{
				draw_apache_hud ();

				break;
			}
			////////////////////////////////////////
			case GUNSHIP_TYPE_HAVOC:
			////////////////////////////////////////
			{
				draw_external_havoc_hud ();

				draw_havoc_hms ();

				break;
			}
			////////////////////////////////////////
			case GUNSHIP_TYPE_COMANCHE:
			////////////////////////////////////////
			{
				draw_comanche_hud ();

				break;
			}
			////////////////////////////////////////
			case GUNSHIP_TYPE_HOKUM:
			////////////////////////////////////////
			{
				draw_external_hokum_hud ();

				draw_hokum_hms ();

				break;
			}
		}
	}
}
Пример #3
0
void dynamics_restore_damage_values (void)
{

	switch (get_global_gunship_type ())
	{

		case GUNSHIP_TYPE_APACHE:
		{

			apache_restore_damage_values ();

			break;
		}

		case GUNSHIP_TYPE_COMANCHE:
		{

			comanche_restore_damage_values ();

			break;
		}

		case GUNSHIP_TYPE_HAVOC:
		{

			havoc_restore_damage_values ();

			break;
		}
		case GUNSHIP_TYPE_HOKUM:
		{

			hokum_restore_damage_values ();

			break;
		}
	}
}
Пример #4
0
void set_flight_dynamics_events (void)
{

	if ( current_flight_dynamics )
	{

		// cyclic events

		switch (get_global_cyclic_input ())
		{

			case KEYBOARD_INPUT:
			{
/*
				set_event (DIK_LEFT, MODIFIER_NONE, KEY_STATE_EITHER, cyclic_left);
				set_event (DIK_RIGHT, MODIFIER_NONE, KEY_STATE_EITHER, cyclic_right);
				set_event (DIK_UP, MODIFIER_NONE, KEY_STATE_EITHER, cyclic_forward);
				set_event (DIK_DOWN, MODIFIER_NONE, KEY_STATE_EITHER, cyclic_backward);
*/
				break;
			}

			case MOUSE_INPUT:
			{

				set_event (MOUSE_MOVE, MODIFIER_NONE, BUTTON_STATE_INVALID, cyclic_mouse_input);

				break;
			}

			case JOYSTICK_INPUT:
			{
				// 030418 loke
				// implemented multiple joystick device selection
				if (command_line_cyclic_joystick_index == -1)
				{
					current_flight_dynamics->input_data.cyclic_joystick_device = joystick_devices [0];
				}
				else
				{
					current_flight_dynamics->input_data.cyclic_joystick_device = joystick_devices [command_line_cyclic_joystick_index];
				}
// temporarily disabled
/*
				// arneh 2007-05-28  arrow keys make fine trim adjustments
				set_event (DIK_LEFT, MODIFIER_NONE, KEY_STATE_DOWN, adjust_roll_trim);
				set_event (DIK_RIGHT, MODIFIER_NONE, KEY_STATE_DOWN, adjust_roll_trim);
				set_event (DIK_UP, MODIFIER_NONE, KEY_STATE_DOWN, adjust_pitch_trim);
				set_event (DIK_DOWN, MODIFIER_NONE, KEY_STATE_DOWN, adjust_pitch_trim);
*/
				break;
			}
		}

		// collective events

		switch (get_global_collective_input ())
		{

			case KEYBOARD_INPUT:
			{

				set_event (DIK_Q, MODIFIER_NONE, KEY_STATE_EITHER, collective_forward);
				set_event (DIK_A, MODIFIER_NONE, KEY_STATE_EITHER, collective_backward);
				set_event (DIK_EQUALS, MODIFIER_NONE, KEY_STATE_EITHER, collective_forward);
				set_event (DIK_MINUS, MODIFIER_NONE, KEY_STATE_EITHER, collective_backward);

				break;
			}

			case MOUSE_INPUT:
			{

				set_event (MOUSE_MOVE_UP, MODIFIER_MOUSE_RIGHT_BUTTON, BUTTON_STATE_EITHER, collective_mouse_input);
				set_event (MOUSE_MOVE_DOWN, MODIFIER_MOUSE_RIGHT_BUTTON, BUTTON_STATE_EITHER, collective_mouse_input);

				break;
			}

			case JOYSTICK_INPUT:
			{

				break;
			}
		}

		// pedal events

		switch (get_global_pedal_input ())
		{

			case KEYBOARD_INPUT:
			{

				set_event (DIK_Z, MODIFIER_NONE, KEY_STATE_EITHER, pedal_left);
				set_event (DIK_X, MODIFIER_NONE, KEY_STATE_EITHER, pedal_right);

				set_event (DIK_Z, MODIFIER_LEFT_SHIFT, KEY_STATE_DOWN, adjust_pedal_trim);
				set_event (DIK_X, MODIFIER_LEFT_SHIFT, KEY_STATE_DOWN, adjust_pedal_trim);
				break;
			}

			case MOUSE_INPUT:
			{

				set_event (MOUSE_MOVE_LEFT, MODIFIER_MOUSE_RIGHT_BUTTON, BUTTON_STATE_EITHER, pedal_mouse_input);
				set_event (MOUSE_MOVE_RIGHT, MODIFIER_MOUSE_RIGHT_BUTTON, BUTTON_STATE_EITHER, pedal_mouse_input);

				set_event (DIK_Z, MODIFIER_NONE, KEY_STATE_DOWN, adjust_pedal_trim);
				set_event (DIK_X, MODIFIER_NONE, KEY_STATE_DOWN, adjust_pedal_trim);
				set_event (DIK_Z, MODIFIER_LEFT_SHIFT, KEY_STATE_DOWN, adjust_pedal_trim);
				set_event (DIK_X, MODIFIER_LEFT_SHIFT, KEY_STATE_DOWN, adjust_pedal_trim);

				break;
			}

			case JOYSTICK_INPUT:
			case RUDDER_INPUT:
			{
				set_event (DIK_Z, MODIFIER_NONE, KEY_STATE_DOWN, adjust_pedal_trim);
				set_event (DIK_X, MODIFIER_NONE, KEY_STATE_DOWN, adjust_pedal_trim);
				set_event (DIK_Z, MODIFIER_LEFT_SHIFT, KEY_STATE_DOWN, adjust_pedal_trim);
				set_event (DIK_X, MODIFIER_LEFT_SHIFT, KEY_STATE_DOWN, adjust_pedal_trim);

				break;
			}
		}

		// model keys

		set_event (DIK_T, MODIFIER_LEFT_SHIFT, KEY_STATE_EITHER, clear_trim_control);
		set_event (DIK_T, MODIFIER_NONE, KEY_STATE_EITHER, set_trim_control);
		set_event (DIK_R, MODIFIER_NONE, KEY_STATE_DOWN, flight_dynamics_toggle_rotor_brake);
		set_event (DIK_B, MODIFIER_NONE, KEY_STATE_DOWN, flight_dynamics_toggle_wheel_brake);
		set_event (DIK_H, MODIFIER_NONE, KEY_STATE_DOWN, flight_dynamics_toggle_auto_hover);
		set_event (DIK_H, MODIFIER_LEFT_SHIFT, KEY_STATE_DOWN, flight_dynamics_toggle_auto_hover);
		set_event (DIK_H, MODIFIER_LEFT_ALT, KEY_STATE_DOWN, flight_dynamics_toggle_altitude_lock);
		set_event (DIK_J, MODIFIER_LEFT_ALT, KEY_STATE_DOWN, flight_dynamics_decrease_altitude_lock);
		set_event (DIK_K, MODIFIER_LEFT_ALT, KEY_STATE_DOWN, flight_dynamics_increase_altitude_lock);
		set_event (DIK_G, MODIFIER_NONE, KEY_STATE_DOWN, flight_dynamics_toggle_auto_pilot);

//		set_event (DIK_TAB, MODIFIER_LEFT_SHIFT, KEY_STATE_DOWN, load_dynamics_model);
//		set_event (DIK_TAB, MODIFIER_LEFT_CONTROL, KEY_STATE_DOWN, save_dynamics_model);

		// arneh, july 2006 - engine keys
		set_event (DIK_COMMA,  MODIFIER_LEFT_CONTROL, KEY_STATE_DOWN, flight_dynamics_start_engine_ev);
		set_event (DIK_COMMA,  MODIFIER_NONE, 		  KEY_STATE_DOWN, flight_dynamics_throttle_engine_ev);
		set_event (DIK_COMMA,  MODIFIER_LEFT_SHIFT,   KEY_STATE_DOWN, flight_dynamics_throttle_engine_ev);
		set_event (DIK_PERIOD, MODIFIER_LEFT_CONTROL, KEY_STATE_DOWN, flight_dynamics_start_engine_ev);
		set_event (DIK_PERIOD, MODIFIER_NONE, 		  KEY_STATE_DOWN, flight_dynamics_throttle_engine_ev);
		set_event (DIK_PERIOD, MODIFIER_LEFT_SHIFT,   KEY_STATE_DOWN, flight_dynamics_throttle_engine_ev);
		set_event (DIK_SLASH,  MODIFIER_LEFT_CONTROL, KEY_STATE_DOWN, flight_dynamics_start_apu_ev);

		if (get_global_gunship_type() == GUNSHIP_TYPE_HIND)
		{
			set_event (DIK_COMMA,  MODIFIER_LEFT_ALT,   KEY_STATE_DOWN, flight_dynamics_decrease_governor_rpm);
			set_event (DIK_PERIOD,  MODIFIER_LEFT_ALT,   KEY_STATE_DOWN, flight_dynamics_increase_governor_rpm);
		}

		#ifdef DEBUG

		set_event (DIK_1, MODIFIER_RIGHT_SHIFT, KEY_STATE_DOWN, debug_dynamics_damage_model);
		set_event (DIK_2, MODIFIER_RIGHT_SHIFT, KEY_STATE_DOWN, debug_dynamics_damage_model);
		set_event (DIK_3, MODIFIER_RIGHT_SHIFT, KEY_STATE_DOWN, debug_dynamics_damage_model);
		set_event (DIK_4, MODIFIER_RIGHT_SHIFT, KEY_STATE_DOWN, debug_dynamics_damage_model);
		set_event (DIK_5, MODIFIER_RIGHT_SHIFT, KEY_STATE_DOWN, debug_dynamics_damage_model);
		set_event (DIK_6, MODIFIER_RIGHT_SHIFT, KEY_STATE_DOWN, debug_dynamics_damage_model);
		set_event (DIK_7, MODIFIER_RIGHT_SHIFT, KEY_STATE_DOWN, debug_dynamics_damage_model);
		set_event (DIK_8, MODIFIER_RIGHT_SHIFT, KEY_STATE_DOWN, debug_dynamics_damage_model);
		set_event (DIK_9, MODIFIER_RIGHT_SHIFT, KEY_STATE_DOWN, debug_dynamics_damage_model);
		set_event (DIK_0, MODIFIER_RIGHT_SHIFT, KEY_STATE_DOWN, debug_dynamics_damage_model);

		set_event (DIK_1, MODIFIER_RIGHT_CONTROL, KEY_STATE_DOWN, debug_dynamics_event1);
		set_event (DIK_2, MODIFIER_RIGHT_CONTROL, KEY_STATE_DOWN, debug_dynamics_event2);
		set_event (DIK_3, MODIFIER_RIGHT_CONTROL, KEY_STATE_DOWN, debug_dynamics_event3);
		set_event (DIK_4, MODIFIER_RIGHT_CONTROL, KEY_STATE_DOWN, debug_dynamics_event4);

		set_event (DIK_LEFT, MODIFIER_RIGHT_CONTROL, KEY_STATE_DOWN, decrease_debug_var_x);
		set_event (DIK_RIGHT, MODIFIER_RIGHT_CONTROL, KEY_STATE_DOWN, increase_debug_var_x);
		set_event (DIK_DOWN, MODIFIER_RIGHT_CONTROL, KEY_STATE_DOWN, decrease_debug_var_y);
		set_event (DIK_UP, MODIFIER_RIGHT_CONTROL, KEY_STATE_DOWN, increase_debug_var_y);
		set_event (DIK_DELETE, MODIFIER_RIGHT_CONTROL, KEY_STATE_DOWN, decrease_debug_var_z);
		set_event (DIK_INSERT, MODIFIER_RIGHT_CONTROL, KEY_STATE_DOWN, increase_debug_var_z);
#endif
	}
}
Пример #5
0
void start_campaign (void)
{

	//
	// Check mission data has arrived...
	//

	ASSERT (current_game_session);

	switch (current_game_session->type)
	{

		case SESSION_LIST_TYPE_RESTORE:
		{

			create_campaign (get_current_game_session ());

			process_restore_session_setup_options ();

			break;
		}
		case SESSION_LIST_TYPE_HOST:
		{

			create_campaign (get_current_game_session ());

			process_host_session_setup_options ();

			break;
		}
		case SESSION_LIST_TYPE_JOIN:
		{

			if (!get_session_entity ())
			{

				return;
			}

			break;
		}
		case SESSION_LIST_TYPE_MASTER:
		{
			current_game_session->type = SESSION_LIST_TYPE_JOIN;

			//TODO: Setup dplay connection, then get first active session.

			if (!get_session_entity ())
			{

				return;
			}

			break;
		}
		// Jabberwock 031210 Session filter
		case SESSION_LIST_TYPE_FILTER:
		{
			if (!get_session_entity ())
			{

				return;
			}

			break;
		}
		// Jabberwock 031210 ends
		case SESSION_LIST_TYPE_INVALID:
		default:
		{

			debug_fatal ("GUNS_SC: unknown game type");
		}
	}

	ui_set_user_function (NULL);

	switch ( get_global_gunship_type () )
	{

		case GUNSHIP_TYPE_APACHE:
		case GUNSHIP_TYPE_COMANCHE:
		{

			//play_cd_music ( CD_MUSIC_TRACK_INGAME );

			break;
		}
		case GUNSHIP_TYPE_HAVOC:
		case GUNSHIP_TYPE_HOKUM:
		{

			//play_cd_music ( CD_MUSIC_TRACK_INGAME );

			break;
		}
	}
}