Exemplo n.º 1
0
void draw_default_lamp_on_texture (void)
{
	screen
		*lamp_texture_screen;

	lamp_texture_screen = lamp1_texture_screen;

	set_system_texture_screen (lamp_texture_screen, TEXTURE_INDEX_AVCKPT_DISPLAY_LHS_MFD);

	////////////////////////////////////////
	//
	// set up MFD 2D environment
	//
	////////////////////////////////////////

	set_2d_active_environment (lamp1_env);

	//
	// window
	//

	set_2d_window (lamp1_env, LAMP1_WINDOW_X_MIN, LAMP1_WINDOW_Y_MIN, LAMP1_WINDOW_X_MAX, LAMP1_WINDOW_Y_MAX);

	//
	// viewport
	//

	lamp1_viewport_size = LAMP1_VIEWPORT_SMALL_SIZE;

	lamp1_viewport_x_org = LAMP1_VIEWPORT_TEXTURE_X_ORG;
	lamp1_viewport_y_org = LAMP1_VIEWPORT_TEXTURE_Y_ORG;
	lamp1_viewport_x_min = lamp1_viewport_x_org - (lamp1_viewport_size * 0.5);
	lamp1_viewport_y_min = lamp1_viewport_y_org - (lamp1_viewport_size * 0.5);
	lamp1_viewport_x_max = lamp1_viewport_x_org + (lamp1_viewport_size * 0.5) - 0.001;
	lamp1_viewport_y_max = lamp1_viewport_y_org + (lamp1_viewport_size * 0.5) - 0.001;

	set_2d_viewport (lamp1_env, lamp1_viewport_x_min, lamp1_viewport_y_min, lamp1_viewport_x_max, lamp1_viewport_y_max);

	set_active_screen (lamp1_texture_screen);

	if (lock_screen (lamp1_texture_screen))
	{

		draw_default_indicator_lamps_3d ();

		flush_screen_texture_graphics (lamp1_texture_screen);

		unlock_screen (lamp1_texture_screen);
	}


	set_active_screen (video_screen);
}
Exemplo n.º 2
0
void initialise_common_crew_skins (void)
{
	//
	// create textures
	//

	us_pilot_high_detail_face = create_user_texture_screen (HIGH_DETAIL_FACE_SIZE, HIGH_DETAIL_FACE_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	us_pilot_low_detail_face = create_user_texture_screen (LOW_DETAIL_FACE_SIZE, LOW_DETAIL_FACE_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	us_pilot_neck = create_user_texture_screen (NECK_SIZE, NECK_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	us_pilot_hands = create_user_texture_screen (HANDS_SIZE, HANDS_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	us_co_pilot_high_detail_face = create_user_texture_screen (HIGH_DETAIL_FACE_SIZE, HIGH_DETAIL_FACE_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	us_co_pilot_low_detail_face = create_user_texture_screen (LOW_DETAIL_FACE_SIZE, LOW_DETAIL_FACE_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	us_co_pilot_neck = create_user_texture_screen (NECK_SIZE, NECK_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	us_co_pilot_hands = create_user_texture_screen (HANDS_SIZE, HANDS_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);

	russian_pilot_high_detail_face = create_user_texture_screen (HIGH_DETAIL_FACE_SIZE, HIGH_DETAIL_FACE_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	russian_pilot_low_detail_face = create_user_texture_screen (LOW_DETAIL_FACE_SIZE, LOW_DETAIL_FACE_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	russian_pilot_neck = create_user_texture_screen (NECK_SIZE, NECK_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	russian_pilot_hands = create_user_texture_screen (HANDS_SIZE, HANDS_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	russian_co_pilot_high_detail_face = create_user_texture_screen (HIGH_DETAIL_FACE_SIZE, HIGH_DETAIL_FACE_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	russian_co_pilot_low_detail_face = create_user_texture_screen (LOW_DETAIL_FACE_SIZE, LOW_DETAIL_FACE_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	russian_co_pilot_neck = create_user_texture_screen (NECK_SIZE, NECK_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);
	russian_co_pilot_hands = create_user_texture_screen (HANDS_SIZE, HANDS_SIZE, SCREEN_FORMAT_TYPE_NOALPHA_NOPALETTE, 0);

	//
	// set texture screens
	//

	set_system_texture_screen (us_pilot_high_detail_face, TEXTURE_INDEX_US_PILOT_FACE_01);
	set_system_texture_screen (us_pilot_low_detail_face, TEXTURE_INDEX_US_PILOT_FACE_01_LOW_RES);
	set_system_texture_screen (us_pilot_neck, TEXTURE_INDEX_US_PILOT_NECK_01);
	set_system_texture_screen (us_pilot_hands, TEXTURE_INDEX_US_PILOT_SKIN);
	set_system_texture_screen (us_co_pilot_high_detail_face, TEXTURE_INDEX_US_WSO_FACE_01);
	set_system_texture_screen (us_co_pilot_low_detail_face, TEXTURE_INDEX_US_WSO_FACE_01_LOW_RES);
	set_system_texture_screen (us_co_pilot_neck, TEXTURE_INDEX_US_WSO_NECK_01);
	set_system_texture_screen (us_co_pilot_hands, TEXTURE_INDEX_US_WSO_SKIN);

	set_system_texture_screen (russian_pilot_high_detail_face, TEXTURE_INDEX_RUSSIAN_PILOT_FACE_01);
	set_system_texture_screen (russian_pilot_low_detail_face, TEXTURE_INDEX_RUSSIAN_PILOT_FACE_LOW_RES);
	set_system_texture_screen (russian_pilot_neck, TEXTURE_INDEX_RUSSIAN_PILOT_NECK_01);
	set_system_texture_screen (russian_pilot_hands, TEXTURE_INDEX_RUSSIAN_PILOT_SKIN);
	set_system_texture_screen (russian_co_pilot_high_detail_face, TEXTURE_INDEX_RUSSIAN_WSO_FACE_01);
	set_system_texture_screen (russian_co_pilot_low_detail_face, TEXTURE_INDEX_RUSSIAN_WSO_FACE_LOW_RES);
	set_system_texture_screen (russian_co_pilot_neck, TEXTURE_INDEX_RUSSIAN_WSO_NECK_01);
	set_system_texture_screen (russian_co_pilot_hands, TEXTURE_INDEX_RUSSIAN_WSO_SKIN);

	//
	// load BMPs
	//

	load_skin_bitmap ("graphics//skins//usa//pilot//hi_face.bmp", us_pilot_high_detail_face, HIGH_DETAIL_FACE_SIZE);
	load_skin_bitmap ("graphics//skins//usa//pilot//low_face.bmp", us_pilot_low_detail_face, LOW_DETAIL_FACE_SIZE);
	load_skin_bitmap ("graphics//skins//usa//pilot//neck.bmp", us_pilot_neck, NECK_SIZE);
	load_skin_bitmap ("graphics//skins//usa//pilot//hands.bmp", us_pilot_hands, HANDS_SIZE);
	load_skin_bitmap ("graphics//skins//usa//cpg//hi_face.bmp", us_co_pilot_high_detail_face, HIGH_DETAIL_FACE_SIZE);
	load_skin_bitmap ("graphics//skins//usa//cpg//low_face.bmp", us_co_pilot_low_detail_face, LOW_DETAIL_FACE_SIZE);
	load_skin_bitmap ("graphics//skins//usa//cpg//neck.bmp", us_co_pilot_neck, NECK_SIZE);
	load_skin_bitmap ("graphics//skins//usa//cpg//hands.bmp", us_co_pilot_hands, HANDS_SIZE);

	load_skin_bitmap ("graphics//skins//russian//pilot//hi_face.bmp", russian_pilot_high_detail_face, HIGH_DETAIL_FACE_SIZE);
	load_skin_bitmap ("graphics//skins//russian//pilot//low_face.bmp", russian_pilot_low_detail_face, LOW_DETAIL_FACE_SIZE);
	load_skin_bitmap ("graphics//skins//russian//pilot//neck.bmp", russian_pilot_neck, NECK_SIZE);
	load_skin_bitmap ("graphics//skins//russian//pilot//hands.bmp", russian_pilot_hands, HANDS_SIZE);
	load_skin_bitmap ("graphics//skins//russian//cpg//hi_face.bmp", russian_co_pilot_high_detail_face, HIGH_DETAIL_FACE_SIZE);
	load_skin_bitmap ("graphics//skins//russian//cpg//low_face.bmp", russian_co_pilot_low_detail_face, LOW_DETAIL_FACE_SIZE);
	load_skin_bitmap ("graphics//skins//russian//cpg//neck.bmp", russian_co_pilot_neck, NECK_SIZE);
	load_skin_bitmap ("graphics//skins//russian//cpg//hands.bmp", russian_co_pilot_hands, HANDS_SIZE);
}
Exemplo n.º 3
0
void draw_hind_mfd_on_texture (void)
{
	if (!map_active)
		return;

	set_system_texture_screen (mfd_texture_screen, TEXTURE_INDEX_HIND_MAP_DISPLAY);

	////////////////////////////////////////
	//
	// set up MFD 2D environment
	//
	////////////////////////////////////////

	set_2d_active_environment (mfd_env);

	//
	// window
	//

	set_2d_window (mfd_env, MFD_WINDOW_X_MIN, MFD_WINDOW_Y_MIN, MFD_WINDOW_X_MAX, MFD_WINDOW_Y_MAX);

	//
	// viewport
	//

	if (custom_3d_models.arneh_mi24v_cockpit)
	{
		mfd_viewport_size = MFD_VIEWPORT_SIZE;
		mfd_texture_size = MFD_TEXTURE_SIZE;
	}
	else
	{
		mfd_viewport_size = MFD_HAVOC_VIEWPORT_SIZE;
		mfd_texture_size = MFD_HAVOC_TEXTURE_SIZE;
	}

	mfd_viewport_texture_x_org = mfd_texture_size / 2;
	mfd_viewport_texture_y_org = mfd_texture_size / 2;

	ASSERT (mfd_viewport_size <= mfd_texture_size);

	mfd_viewport_x_org = mfd_viewport_texture_x_org;
	mfd_viewport_y_org = mfd_viewport_texture_y_org;

	mfd_viewport_x_min = mfd_viewport_x_org - (mfd_viewport_size * 0.5);
	mfd_viewport_y_min = mfd_viewport_y_org - (mfd_viewport_size * 0.5);
	mfd_viewport_x_max = mfd_viewport_x_org + (mfd_viewport_size * 0.5) - 0.001;
	mfd_viewport_y_max = mfd_viewport_y_org + (mfd_viewport_size * 0.5) - 0.001;

	set_2d_viewport (mfd_env, mfd_viewport_x_min, mfd_viewport_y_min, mfd_viewport_x_max, mfd_viewport_y_max);

	////////////////////////////////////////
	//
	// draw MFD display
	//
	////////////////////////////////////////

	if (!hind_damage.navigation_computer && !map_up_to_date)
	{
		set_active_screen (mfd_texture_screen);

		if (lock_screen (mfd_texture_screen))
		{
			set_block (0, 0, mfd_viewport_size - 1, mfd_viewport_size - 1, clear_mfd_colour);

			draw_layout_grid ();

			draw_map_display ();

			flush_screen_texture_graphics (mfd_texture_screen);

			unlock_screen (mfd_texture_screen);
		}

		set_active_screen (video_screen);
	}
/*
	if(command_line_export_mfd)
	{
		export_screen=create_screen_for_system_texture (TEXTURE_INDEX_HIND_MAP_DISPLAY);
		copy_export_mfd(export_screen,NULL);
	}
*/
}
Exemplo n.º 4
0
void draw_hind_virtual_cockpit_ort_symbology(void)
{
	int
		mfd_screen_x_min, mfd_screen_y_min, mfd_screen_x_max, mfd_screen_y_max;

	rgb_colour
		background_colour,
		symbology_colour;

	set_3d_active_environment (main_3d_env);

	//
	// set up MFD 2D environment
	//

	set_2d_active_environment (mfd_env);
	set_2d_window (mfd_env, MFD_WINDOW_X_MIN, MFD_WINDOW_Y_MIN, MFD_WINDOW_X_MAX, MFD_WINDOW_Y_MAX);

	mfd_viewport_size = EO_VIEWPORT_SIZE;

	mfd_viewport_x_org = EO_VIEWPORT_SIZE * 0.5;
	mfd_viewport_y_org = EO_VIEWPORT_SIZE * 0.5;

	mfd_viewport_x_min = 0.0;
	mfd_viewport_y_min = 0.0;

	mfd_viewport_x_max = EO_VIEWPORT_SIZE - 0.001;
	mfd_viewport_y_max = EO_VIEWPORT_SIZE - 0.001;

	set_2d_viewport (mfd_env, mfd_viewport_x_min, mfd_viewport_y_min, mfd_viewport_x_max, mfd_viewport_y_max);

	mfd_screen_x_min = full_screen_x_mid - ((256.0 / (640.0 * 2.0)) * full_screen_width);
	mfd_screen_y_min = full_screen_y_mid - ((256.0 / (480.0 * 2.0)) * full_screen_height);

	mfd_screen_x_max = full_screen_x_mid + ((256.0 / (640.0 * 2.0)) * full_screen_width) - 0.001;
	mfd_screen_y_max = full_screen_y_mid + ((256.0 / (480.0 * 2.0)) * full_screen_height) - 0.001;

	i_translate_3d = mfd_screen_x_min;
	j_translate_3d = mfd_screen_y_min;

	i_scale_3d = 640.0 / full_screen_width;
	j_scale_3d = 480.0 / full_screen_height;

	symbology_colour = MFD_EO_TEXT_COLOUR;
	set_rgb_colour(background_colour, 255, 255, 255, 0);

	set_system_texture_screen (eo_texture_screen, TEXTURE_INDEX_AVCKPT_DISPLAY_RHS_MFD);

	draw_symbology_to_texture(
		eo_texture_screen,
		TEXTURE_INDEX_AVCKPT_DISPLAY_RHS_MFD,
		mfd_viewport_size,
		mfd_viewport_size,
		mfd_screen_x_min,
		mfd_screen_y_min,
		mfd_screen_x_max,
		mfd_screen_y_max,
		symbology_colour,
		background_colour,
		draw_hind_ort_symbology);
}