Beispiel #1
0
void notify_medals_screen_exit_button (ui_object *obj, void *arg)
{

	obj;
	arg;

	if ((int) arg == BUTTON_STATE_DOWN)
	{

		set_ui_object_graphic (obj, (unsigned short int *) get_graphics_file_data (GRAPHICS_UI_APACHE_PLANNER_BACK_BUTTON_SELECTED));
	}
	else if ((int) arg == BUTTON_STATE_UP)
	{

		set_ui_object_graphic (obj, (unsigned short int *) get_graphics_file_data (GRAPHICS_UI_APACHE_PLANNER_BACK_BUTTON_UNSELECTED));

		set_ui_object_redraw (player_medals_screen, TRUE);

		pop_ui_screen (SCREEN_POP_ACTUAL);
	}
	else
	{

		set_ui_object_graphic (obj, (unsigned short int *) get_graphics_file_data (GRAPHICS_UI_APACHE_PLANNER_BACK_BUTTON_UNSELECTED));

		set_ui_object_redraw (player_medals_screen, TRUE);
	}

	set_ui_object_graphic_type (obj, UI_OBJECT_ALPHA_GRAPHIC);
}
Beispiel #2
0
void notify_dedicated_server_quit_button (ui_object *obj, void *arg)
{

	if ((int) arg == BUTTON_STATE_DOWN)
	{

		set_ui_object_graphic (obj, (unsigned short int *) get_graphics_file_data (GRAPHICS_UI_APACHE_PLANNER_BACK_BUTTON_SELECTED));

		set_ui_object_redraw (dedicated_server_screen, TRUE);
	}
	else if ((int) arg == BUTTON_STATE_UP)
	{

		set_ui_object_graphic (obj, (unsigned short int *) get_graphics_file_data (GRAPHICS_UI_APACHE_PLANNER_BACK_BUTTON_UNSELECTED));

		//deinitialise_base_system ();
	
		//setup_campaign_over_screen (get_local_force_entity (get_global_gunship_side ()), CAMPAIGN_CRITERIA_RESULT_SERVER_REJECTED);

		start_game_exit (GAME_EXIT_APACHE_HAVOC, FALSE);
	}
	else 
	{

		set_ui_object_graphic (obj, (unsigned short int *) get_graphics_file_data (GRAPHICS_UI_APACHE_PLANNER_BACK_BUTTON_UNSELECTED));

		set_ui_object_redraw (dedicated_server_screen, TRUE);
	}

	//set_ui_object_graphic_type (obj, UI_OBJECT_ALPHA_GRAPHIC);
}
Beispiel #3
0
void notify_main_screen_exit_button (ui_object *obj, void *arg)
{

	if ((int) arg == BUTTON_STATE_DOWN)
	{

		set_ui_object_graphic (obj, (unsigned short int *) get_graphics_file_data (GRAPHICS_UI_APACHE_PLANNER_BACK_BUTTON_SELECTED));

		set_ui_object_redraw (main_screen, TRUE);
	}
	else if ((int) arg == BUTTON_STATE_UP)
	{

		set_ui_object_graphic (obj, (unsigned short int *) get_graphics_file_data (GRAPHICS_UI_APACHE_PLANNER_BACK_BUTTON_UNSELECTED));

		push_ui_screen ( exit_screen );
	}
	else
	{

		set_ui_object_graphic (obj, (unsigned short int *) get_graphics_file_data (GRAPHICS_UI_APACHE_PLANNER_BACK_BUTTON_UNSELECTED));

		set_ui_object_redraw (main_screen, TRUE);
	}

	set_ui_object_graphic_type (obj, UI_OBJECT_ALPHA_GRAPHIC);
}
Beispiel #4
0
void draw_default_indicator_lamps_3d (void)
{
	unsigned char
		*sprite_data,
		*mask_data;

	int X_ORG;
	int Y_ORG;

	base_cockpit_graphics_file = GRAPHICS_COCKPITS_APACHE_LEVEL1_BASE;

	sprite_data = get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_SPRITES);

	mask_data = get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_SPRITES_MASK);


//find out where the lamps are in 3d, tranform with pilot viewpoint, convert to pixels depending on resolution, use center of cockpit


	lock_screen (active_screen);

	X_ORG = 225;	Y_ORG = 470;
	X_ORG = (int)((virtual_cockpit_inst3d->vp.x*0.4+0.5)*300);
					 draw_lamp (default_lamps.indicator_lamp_1, X_ORG +   7, Y_ORG +   4,   7,   4,  19,  19,   0);
	X_ORG += 20; draw_lamp (default_lamps.indicator_lamp_2, X_ORG +  27, Y_ORG +   4,  27,   4,  18,  19,  13);
	X_ORG += 20; draw_lamp (default_lamps.indicator_lamp_3, X_ORG +  47, Y_ORG +   5,  47,   5,  18,  18,  25);
	X_ORG += 20; draw_lamp (default_lamps.indicator_lamp_4, X_ORG +  66, Y_ORG +   5,  66,   5,  18,  18,  38);
	X_ORG += 20; draw_lamp (default_lamps.indicator_lamp_5, X_ORG +  86, Y_ORG +   5,  86,   5,  18,  18,  51);
	X_ORG += 20; draw_lamp (default_lamps.indicator_lamp_6, X_ORG + 106, Y_ORG +   5, 106,   5,  18,  18,  64);
	X_ORG += 20; draw_lamp (default_lamps.indicator_lamp_7, X_ORG + 125, Y_ORG +   5, 125,   5,  18,  18,  76);
	X_ORG += 20; draw_lamp (default_lamps.indicator_lamp_8, X_ORG + 144, Y_ORG +   5, 144,   5,  19,  18,  89);
	X_ORG += 20; draw_lamp (default_lamps.indicator_lamp_9, X_ORG + 164, Y_ORG +   4, 164,   4,  19,  19, 102);

	X_ORG = 164;	Y_ORG = 408;
					 draw_lamp (default_lamps.engine_1_fire	, X_ORG +  10, Y_ORG +  12,  10, 102,  26,  27,   0);
	X_ORG += 27; draw_lamp (default_lamps.apu_fire		, X_ORG +  42, Y_ORG +  12,  42, 102,  26,  27,  13);
	X_ORG += 27; draw_lamp (default_lamps.engine_2_fire	, X_ORG +  75, Y_ORG +  12,  75, 102,  26,  27,  25);

	X_ORG = 72;	Y_ORG = 375;
					 draw_lamp (default_lamps.armament_lamp_1 , X_ORG +   9, Y_ORG +   7,   9, 327,  22,  23,   0);
	X_ORG += 23; draw_lamp (default_lamps.armament_lamp_2 , X_ORG +  31, Y_ORG +   7,  31, 327,  22,  23,  13);

	X_ORG = 305;
	Y_ORG = 283;
					 draw_lamp (default_lamps.mfd_lamp_1 , X_ORG +   3, Y_ORG +   3,   3, 183,  24,  22,   0);
	Y_ORG += 23; draw_lamp (default_lamps.mfd_lamp_2 , X_ORG +   3, Y_ORG +  25,   3, 205,  24,  21,  13);

	unlock_screen (active_screen);

}
Beispiel #5
0
void notify_combat_zone_screen (ui_object *obj, void *arg)
{

	ASSERT ( get_valid_current_game_session () );

	combat_zone_read_text ();

	if ( briefing_red_forces )
	{

		set_ui_object_graphic ( combat_zone_screen, ( unsigned short int * ) get_graphics_file_data ( GRAPHICS_UI_HAVOC_CZONE_SCREEN ) );
	}
	else
	{

		set_ui_object_graphic ( combat_zone_screen, ( unsigned short int * ) get_graphics_file_data ( GRAPHICS_UI_APACHE_CZONE_SCREEN ) );
	}
}
Beispiel #6
0
void initialise_main_screen (void)
{
	ui_object
		*option_bdrop,
		*change_obj,
		*registered_to_message;

	float
		x1,
		y1,
		x2,
		y2;

	int
		i;

	/////////////////////////////////////////////////////////////////
	// option area & button texture objects

	if (options_box_small)
	{
		destroy_texture_graphic (options_box_small);

		options_box_small = NULL;
	}

	options_box_small = create_texture_graphic ( "graphics//ui//cohokum//boxsmall.psd" );

	if (options_box_medium)
	{
		destroy_texture_graphic (options_box_medium);

		options_box_medium = NULL;
	}

	options_box_medium = create_texture_graphic ( "graphics//ui//cohokum//boxmed.psd" );

	if (options_box_large)
	{
		destroy_texture_graphic (options_box_large);

		options_box_large = NULL;
	}

	options_box_large = create_texture_graphic ( "graphics//ui//cohokum//boxlarge.psd" );

	if (options_box_extra_large)
	{
		destroy_texture_graphic (options_box_extra_large);

		options_box_extra_large = NULL;
	}

	options_box_extra_large = create_texture_graphic ( "graphics//ui//cohokum//boxexlrg.psd" );

	if (text_box_graphic)
	{
		destroy_texture_graphic (text_box_graphic);

		text_box_graphic = NULL;
	}

	text_box_graphic = create_texture_graphic ( "graphics//ui//cohokum//boxtext.psd" );

	if (text_option_bdrop)
	{
		destroy_texture_graphic (text_option_bdrop);

		text_option_bdrop = NULL;
	}

	text_option_bdrop = create_texture_graphic ( "graphics//ui//cohokum//bstripe.psd" );

	/////////////////////////////////////////////////////////////////
	// List box graphics

	if (list_box_graphic)
	{

		destroy_texture_graphic (list_box_graphic);

		list_box_graphic = NULL;
	}

	list_box_graphic = create_texture_graphic ( "graphics//ui//cohokum//boxlist.psd" );

	// initialise slider graphics
	frontend_slider_bdrop_graphic					= create_texture_graphic ( "graphics//ui//cohokum//map//sbcklist.psd" );

	frontend_slider_bar_graphic 					= create_texture_graphic ( "graphics//ui//cohokum//map//scrolblu.psd" );
	frontend_slider_bar_highlighted_graphic 	= create_texture_graphic ( "graphics//ui//cohokum//map//scrolwht.psd" );
	frontend_slider_bar_selected_graphic 		= create_texture_graphic ( "graphics//ui//cohokum//map//scrolyel.psd" );

	frontend_slider_up_graphic 					= create_texture_graphic ( "graphics//ui//cohokum//map//arrupblu.psd" );
	frontend_slider_up_highlighted_graphic 	= create_texture_graphic ( "graphics//ui//cohokum//map//arrupwht.psd" );
	frontend_slider_up_selected_graphic 		= create_texture_graphic ( "graphics//ui//cohokum//map//arrupyel.psd" );

	frontend_slider_down_graphic 					= create_texture_graphic ( "graphics//ui//cohokum//map//arrdwblu.psd" );
	frontend_slider_down_highlighted_graphic 	= create_texture_graphic ( "graphics//ui//cohokum//map//arrdwwht.psd" );
	frontend_slider_down_selected_graphic 		= create_texture_graphic ( "graphics//ui//cohokum//map//arrdwyel.psd" );


	/////////////////////////////////////////////////////////////////
	// Main Screen & title text

   main_screen = create_ui_object
            (
               UI_TYPE_SCREEN,
               UI_ATTR_VIRTUAL_POSITION (0, 0),
               UI_ATTR_VIRTUAL_SIZE (1.0, 1.0),
               UI_ATTR_COLOUR_START (255,255,255,64),
               UI_ATTR_COLOUR_END (255,255,255,255),
					UI_ATTR_OFFSET_TIME (0),
					UI_ATTR_TIME_LENGTH (500),
					UI_ATTR_NOTIFY_ON (NOTIFY_TYPE_BUTTON_EITHER),
					UI_ATTR_FUNCTION (notify_main_screen),
               UI_ATTR_END
            );

   create_ui_object
            (
               UI_TYPE_TEXT,
               UI_ATTR_PARENT (main_screen),
					UI_ATTR_OFFSET_TIME (0),
					UI_ATTR_TIME_LENGTH (500),
               UI_ATTR_VIRTUAL_POSITION (TITLE_TEXT_POSITION_X, TITLE_TEXT_POSITION_Y),
					UI_ATTR_VIRTUAL_SIZE (TITLE_TEXT_WIDTH, TITLE_TEXT_HEIGHT),
					UI_ATTR_TEXT (get_trans ("Main Screen")),
					UI_ATTR_FONT_TYPE (UI_FONT_IMPACT_22),
					UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_BOTTOM),
               UI_ATTR_FONT_COLOUR_START (ui_screen_title_text_colour.r, ui_screen_title_text_colour.g, ui_screen_title_text_colour.b, 0),
               UI_ATTR_FONT_COLOUR_END (ui_screen_title_text_colour.r, ui_screen_title_text_colour.g, ui_screen_title_text_colour.b, 255),
					UI_ATTR_HIGHLIGHTABLE (FALSE),
					UI_ATTR_CLEAR (TRUE),
               UI_ATTR_END
            );


	/////////////////////////////////////////////////////////////////
	// Security Message - text to be inserted is ideally  <= 81 chars

	registered_to_message = create_ui_object
		(
			UI_TYPE_AREA,
			UI_ATTR_PARENT (main_screen),
			UI_ATTR_VIRTUAL_POSITION (0.05, 0.4),
			UI_ATTR_VIRTUAL_SIZE (0.9, 0.3),
			UI_ATTR_FONT_TYPE (UI_FONT_THICK_ITALIC_ARIAL_18),
         UI_ATTR_FONT_COLOUR_END (ui_screen_title_text_colour.r, ui_screen_title_text_colour.g, ui_screen_title_text_colour.b, 255),
			UI_ATTR_DRAWABLE (FALSE),
			UI_ATTR_CLEAR (TRUE),
			UI_ATTR_END
		);


	/////////////////////////////////////////////////////////////////
	// Buttons

	// Combat

	i = 0;

	option_bdrop = create_ui_object
	(
		UI_TYPE_AREA,
		UI_ATTR_PARENT (main_screen),
		UI_ATTR_VIRTUAL_POSITION (0.0, 0.0),
		UI_ATTR_VIRTUAL_SIZE (TEXT_OPTION_BDROP_WIDTH, TEXT_OPTION_BDROP_HEIGHT),
		UI_ATTR_COLOUR_START (0, 0, 0, 0),
		UI_ATTR_COLOUR_END (255, 255, 255, 255),
		UI_ATTR_OFFSET_TIME (0),
		UI_ATTR_TIME_LENGTH (500),
		UI_ATTR_TEXTURE_GRAPHIC (text_option_bdrop),
		UI_ATTR_END
	);

   change_obj = create_ui_object
            (
               UI_TYPE_BUTTON,
               UI_ATTR_PARENT (main_screen),
					UI_ATTR_POSITION_START (0.0, 0.329),
					UI_ATTR_POSITION_END (0.663, 0.329),
					UI_ATTR_VIRTUAL_SIZE (0.196, 0.033),
					UI_ATTR_TEXT (get_trans ("UI_COMBAT")),
					UI_ATTR_FONT_TYPE (UI_FONT_THICK_ARIAL_22),
					UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_RIGHT_CENTRE),
					UI_ATTR_FUNCTION (notify_main_combat_missions_button),
            	UI_ATTR_FONT_COLOUR_START (ui_option_text_default_colour.r, ui_option_text_default_colour.g, ui_option_text_default_colour.b, 0),
            	UI_ATTR_FONT_COLOUR_END (ui_option_text_default_colour.r, ui_option_text_default_colour.g, ui_option_text_default_colour.b, 255),
            	UI_ATTR_HIGHLIGHTED_FONT_COLOUR_START (ui_option_text_hilite_colour.r, ui_option_text_hilite_colour.g, ui_option_text_hilite_colour.b, 0),
  		         UI_ATTR_HIGHLIGHTED_FONT_COLOUR_END (ui_option_text_hilite_colour.r, ui_option_text_hilite_colour.g, ui_option_text_hilite_colour.b, 255),
					UI_ATTR_HIGHLIGHTABLE (TRUE),
					UI_ATTR_CLEAR (TRUE),
					UI_ATTR_TIME_LENGTH (200),
					UI_ATTR_OFFSET_TIME (500),
               UI_ATTR_END
            );

	preprocess_translation_object_size (change_obj, NULL, NULL, 0, RESIZE_OPTION_FIXED_BUTTON);

	set_text_option_backdrop_object (option_bdrop, change_obj);

	// Pilots

	i++;

	option_bdrop = create_ui_object
	(
		UI_TYPE_AREA,
		UI_ATTR_PARENT (main_screen),
		UI_ATTR_VIRTUAL_POSITION (0.0, 0.0),
		UI_ATTR_VIRTUAL_SIZE (TEXT_OPTION_BDROP_WIDTH, TEXT_OPTION_BDROP_HEIGHT),
		UI_ATTR_COLOUR_START (255, 255, 255, 0),
		UI_ATTR_COLOUR_END (255, 255, 255, 255),
		UI_ATTR_OFFSET_TIME (0),
		UI_ATTR_TIME_LENGTH (500),
		UI_ATTR_TEXTURE_GRAPHIC (text_option_bdrop),
		UI_ATTR_END
	);

   pilots_button = create_ui_object
            (
               UI_TYPE_BUTTON,
               UI_ATTR_PARENT (main_screen),
					UI_ATTR_POSITION_START (0, 0.435),
					UI_ATTR_POSITION_END (0.785, 0.435),
					UI_ATTR_TIME_LENGTH (200),
					UI_ATTR_OFFSET_TIME (600),
					UI_ATTR_VIRTUAL_SIZE (0.155, 0.033),
               UI_ATTR_GRAPHIC (get_graphics_file_data (GRAPHICS_UI_APACHE_MAIN_SCREEN_PLAYER_BUTTON)),
					UI_ATTR_TEXT (get_trans ("UI_PILOTS")),
					UI_ATTR_FONT_TYPE (UI_FONT_THICK_ARIAL_22),
					UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_RIGHT_CENTRE),
         	   UI_ATTR_FONT_COLOUR_START (ui_option_text_default_colour.r, ui_option_text_default_colour.g, ui_option_text_default_colour.b, 0),
         	   UI_ATTR_FONT_COLOUR_END (ui_option_text_default_colour.r, ui_option_text_default_colour.g, ui_option_text_default_colour.b, 255),
         	   UI_ATTR_HIGHLIGHTED_FONT_COLOUR_START (ui_option_text_hilite_colour.r, ui_option_text_hilite_colour.g, ui_option_text_hilite_colour.b, 0),
         	   UI_ATTR_HIGHLIGHTED_FONT_COLOUR_END (ui_option_text_hilite_colour.r, ui_option_text_hilite_colour.g, ui_option_text_hilite_colour.b, 255),
					UI_ATTR_FUNCTION (notify_main_select_player_button),
					UI_ATTR_HIGHLIGHTABLE (TRUE),
					UI_ATTR_CLEAR (TRUE),
               UI_ATTR_END
            );

	preprocess_translation_object_size (pilots_button, NULL, NULL, 0, RESIZE_OPTION_FIXED_BUTTON);

	set_text_option_backdrop_object (option_bdrop, pilots_button);

	// ghost pilots button

	x1 = get_ui_object_virtual_x (pilots_button);
	x2 = get_ui_object_virtual_x_size (pilots_button);

	y1 = 0.435;
	y2 = 0.033;

	ghost_pilots_button = create_ui_object
									(
										UI_TYPE_AREA,
										UI_ATTR_PARENT (main_screen),
										UI_ATTR_VIRTUAL_POSITION (x1, y1),
										UI_ATTR_VIRTUAL_SIZE (x2, y2),
										UI_ATTR_CLEAR (TRUE),
										UI_ATTR_DRAWABLE (FALSE),
										UI_ATTR_END
									);


	// Options

	i++;

	option_bdrop = create_ui_object
	(
		UI_TYPE_AREA,
		UI_ATTR_PARENT (main_screen),
		UI_ATTR_VIRTUAL_POSITION (0.0, 0.0),
		UI_ATTR_VIRTUAL_SIZE (TEXT_OPTION_BDROP_WIDTH, TEXT_OPTION_BDROP_HEIGHT),
		UI_ATTR_COLOUR_START (255, 255, 255, 0),
		UI_ATTR_COLOUR_END (255, 255, 255, 255),
		UI_ATTR_TEXTURE_GRAPHIC (text_option_bdrop),
		UI_ATTR_OFFSET_TIME (0),
		UI_ATTR_TIME_LENGTH (500),
		UI_ATTR_END
	);

   change_obj = create_ui_object
            (
               UI_TYPE_BUTTON,
               UI_ATTR_PARENT (main_screen),
					UI_ATTR_POSITION_START (0, 0.595),
					UI_ATTR_POSITION_END (0.735, 0.595),
					UI_ATTR_TIME_LENGTH (200),
					UI_ATTR_OFFSET_TIME (700),
					UI_ATTR_VIRTUAL_SIZE (0.185, 0.042),
					UI_ATTR_TEXT (get_trans ("Options Screen")),
					UI_ATTR_FONT_TYPE (UI_FONT_THICK_ARIAL_22),
					UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_RIGHT_CENTRE),
					UI_ATTR_FUNCTION (notify_common_main_options_button),
      	      UI_ATTR_FONT_COLOUR_START (ui_option_text_default_colour.r, ui_option_text_default_colour.g, ui_option_text_default_colour.b, 0),
   	         UI_ATTR_FONT_COLOUR_END (ui_option_text_default_colour.r, ui_option_text_default_colour.g, ui_option_text_default_colour.b, 255),
	            UI_ATTR_HIGHLIGHTED_FONT_COLOUR_START (ui_option_text_hilite_colour.r, ui_option_text_hilite_colour.g, ui_option_text_hilite_colour.b, 0),
	            UI_ATTR_HIGHLIGHTED_FONT_COLOUR_END (ui_option_text_hilite_colour.r, ui_option_text_hilite_colour.g, ui_option_text_hilite_colour.b, 255),
					UI_ATTR_HIGHLIGHTABLE (TRUE),
					UI_ATTR_CLEAR (TRUE),
               UI_ATTR_END
            );

	preprocess_translation_object_size (change_obj, NULL, NULL, 0, RESIZE_OPTION_FIXED_BUTTON);

	set_text_option_backdrop_object (option_bdrop, change_obj);


	// Credits

	i++;

	option_bdrop = create_ui_object
	(
		UI_TYPE_AREA,
		UI_ATTR_PARENT (main_screen),
		UI_ATTR_VIRTUAL_POSITION (0.0, 0.0),
		UI_ATTR_VIRTUAL_SIZE (TEXT_OPTION_BDROP_WIDTH, TEXT_OPTION_BDROP_HEIGHT),
		UI_ATTR_COLOUR_START (255, 255, 255, 0),
		UI_ATTR_COLOUR_END (255, 255, 255, 255),
		UI_ATTR_OFFSET_TIME (0),
		UI_ATTR_TIME_LENGTH (500),
		UI_ATTR_TEXTURE_GRAPHIC (text_option_bdrop),
		UI_ATTR_END
	);

   credits_button = create_ui_object
            (
               UI_TYPE_BUTTON,
               UI_ATTR_PARENT (main_screen),
					UI_ATTR_POSITION_START (0, 0.704),
					UI_ATTR_POSITION_END (0.637, 0.704),
					UI_ATTR_TIME_LENGTH (200),
					UI_ATTR_OFFSET_TIME (700),
					UI_ATTR_VIRTUAL_SIZE (0.185, 0.042),
					UI_ATTR_TEXT (get_trans ("Credits")),
					UI_ATTR_FONT_TYPE (UI_FONT_THICK_ARIAL_22),
					UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_RIGHT_CENTRE),
					UI_ATTR_FUNCTION (notify_main_credits_button),
      	      UI_ATTR_FONT_COLOUR_START (ui_option_text_default_colour.r, ui_option_text_default_colour.g, ui_option_text_default_colour.b, 0),
   	         UI_ATTR_FONT_COLOUR_END (ui_option_text_default_colour.r, ui_option_text_default_colour.g, ui_option_text_default_colour.b, 255),
	            UI_ATTR_HIGHLIGHTED_FONT_COLOUR_START (ui_option_text_hilite_colour.r, ui_option_text_hilite_colour.g, ui_option_text_hilite_colour.b, 0),
	            UI_ATTR_HIGHLIGHTED_FONT_COLOUR_END (ui_option_text_hilite_colour.r, ui_option_text_hilite_colour.g, ui_option_text_hilite_colour.b, 255),
					UI_ATTR_HIGHLIGHTABLE (TRUE),
					UI_ATTR_CLEAR (TRUE),
               UI_ATTR_END
            );

	preprocess_translation_object_size (credits_button, NULL, NULL, 0, RESIZE_OPTION_FIXED_BUTTON);

	set_text_option_backdrop_object (option_bdrop, credits_button);

	// ghost credits button

	x1 = get_ui_object_virtual_x (credits_button);
	x2 = get_ui_object_virtual_x_size (credits_button);

	y1 = 0.704;
	y2 = 0.042;

	ghost_credits_button = create_ui_object
									(
										UI_TYPE_AREA,
										UI_ATTR_PARENT (main_screen),
										UI_ATTR_VIRTUAL_POSITION (x1, y1),
										UI_ATTR_VIRTUAL_SIZE (x2, y2),
										UI_ATTR_CLEAR (TRUE),
										UI_ATTR_DRAWABLE (FALSE),
										UI_ATTR_END
									);


	/////////////////////////////////////////////////////////////////
	// Exit Button

	option_bdrop = create_ui_object
	(
		UI_TYPE_AREA,
		UI_ATTR_PARENT (main_screen),
		UI_ATTR_VIRTUAL_POSITION (0.0, 0.0),
		UI_ATTR_VIRTUAL_SIZE (TEXT_OPTION_BDROP_WIDTH, TEXT_OPTION_BDROP_HEIGHT),
		UI_ATTR_COLOUR_START (255, 255, 255, 0),
		UI_ATTR_COLOUR_END (255, 255, 255, 255),
		UI_ATTR_OFFSET_TIME (0),
		UI_ATTR_TIME_LENGTH (500),
		UI_ATTR_TEXTURE_GRAPHIC (text_option_bdrop),
		UI_ATTR_END
	);

	change_obj = create_ui_object
			(
				UI_TYPE_BUTTON,
				UI_ATTR_PARENT (main_screen),
				UI_ATTR_VIRTUAL_POSITION (OPTIONS_CANCEL_BUTTON_POS_X, OPTIONS_CANCEL_BUTTON_POS_Y),
				UI_ATTR_VIRTUAL_SIZE (OPTIONS_EXIT_BUTTON_X, OPTIONS_EXIT_BUTTON_Y),
				UI_ATTR_TEXT (get_trans("UI_EXIT")),
				UI_ATTR_NOTIFY_ON (NOTIFY_TYPE_BUTTON_UP),
				UI_ATTR_FUNCTION (notify_main_screen_exit_button),
				UI_ATTR_FONT_TYPE (UI_FONT_THICK_ITALIC_ARIAL_18),
				UI_ATTR_FONT_COLOUR (254, 124, 47, 255),
				UI_ATTR_TEXT_JUSTIFY (TEXT_JUSTIFY_LEFT_CENTRE),
            UI_ATTR_FONT_COLOUR_START (ui_option_text_default_colour.r, ui_option_text_default_colour.g, ui_option_text_default_colour.b, 0),
            UI_ATTR_FONT_COLOUR_END (ui_option_text_default_colour.r, ui_option_text_default_colour.g, ui_option_text_default_colour.b, 255),
            UI_ATTR_HIGHLIGHTED_FONT_COLOUR_START (ui_option_text_hilite_colour.r, ui_option_text_hilite_colour.g, ui_option_text_hilite_colour.b, 0),
            UI_ATTR_HIGHLIGHTED_FONT_COLOUR_END (ui_option_text_hilite_colour.r, ui_option_text_hilite_colour.g, ui_option_text_hilite_colour.b, 255),
				UI_ATTR_HIGHLIGHTABLE (TRUE),
				UI_ATTR_CLEAR (TRUE),
				UI_ATTR_END
			);

	set_text_option_backdrop_object (option_bdrop, change_obj);


#ifndef COMMERCIAL

	if (check_cdrom_file_exists ("CONFIG.BIN"))
	{
		set_ui_object_text (registered_to_message, get_security_message ()),

		set_ui_object_drawable (registered_to_message, TRUE);
	}
	else
	{

		#ifdef INSTALL_FROM_CDROM

		debug_fatal ("Security Protection Failed");

		#endif
	}

#endif
}
Beispiel #7
0
void draw_hind_cockpit (cockpit_panels panel)
{
	////////////////////////////////////////
	//
	// select cockpit graphics wrt time of day
	//
	////////////////////////////////////////

	switch (get_local_entity_int_value (get_session_entity (), INT_TYPE_DAY_SEGMENT_TYPE))
	{
		case DAY_SEGMENT_TYPE_DAWN:
		{
			base_cockpit_graphics_file = GRAPHICS_COCKPITS_HAVOC_LEVEL2_BASE;

			break;
		}
		case DAY_SEGMENT_TYPE_DAY:
		{
			base_cockpit_graphics_file = GRAPHICS_COCKPITS_HAVOC_LEVEL1_BASE;

			break;
		}
		case DAY_SEGMENT_TYPE_DUSK:
		{
			base_cockpit_graphics_file = GRAPHICS_COCKPITS_HAVOC_LEVEL2_BASE;

			break;
		}
		case DAY_SEGMENT_TYPE_NIGHT:
		{
			base_cockpit_graphics_file = GRAPHICS_COCKPITS_HAVOC_LEVEL3_BASE;

			break;
		}
	}

	#if DEMO_VERSION

	base_cockpit_graphics_file = GRAPHICS_COCKPITS_HAVOC_LEVEL1_BASE;

	#endif

	set_havoc_instrument_colours ();

	////////////////////////////////////////
	//
	// draw overlaid instruments
	//
	////////////////////////////////////////

	if (!get_global_draw_cockpit_graphics ())
	{
		if (get_global_draw_overlaid_instruments ())
		{
			if (panel != COCKPIT_PANEL_SPECIAL_HAVOC_TV)
			{
				draw_overlaid_hind_mfd (68.0, 412.0, 128.0);

				draw_overlaid_hind_threat_warning_display (int_full_screen_width - 64, int_full_screen_height - 84);
			}
		}
	}

	////////////////////////////////////////
	//
	// draw cockpits
	//
	////////////////////////////////////////

	switch (panel)
	{
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_LEFT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				if (custom_3d_models.arneh_mi24v_cockpit)
					draw_hind_external_3d_cockpit(0, NULL);
				else
				{
					draw_hind_external_virtual_cockpit
					(
						VIRTUAL_COCKPIT_RAIN_EFFECT |
						VIRTUAL_COCKPIT_MAIN_ROTOR,
						NULL
					);
	
					if (lock_screen (active_screen))
					{
						blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U40_L90_RLE), ix_640_480, iy_640_480);
	
						unlock_screen (active_screen);
					}
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_LEFT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U40_L60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_LEFT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR |
					VIRTUAL_COCKPIT_COMPASS,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U40_L30_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_AHEAD:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR |
					VIRTUAL_COCKPIT_COMPASS,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_WIPER_U40_AHD_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U40_AHD_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_RIGHT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_WIPER_U40_R30_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U40_R30_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_RIGHT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U40_R60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_RIGHT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U40_R90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_LEFT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U20_L90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_LEFT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U20_L60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_LEFT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				if (custom_3d_models.arneh_mi24v_cockpit)
				{
					draw_hind_external_3d_cockpit(0, NULL);
					draw_hind_internal_3d_cockpit(0);
				}
				else
				{
					draw_hind_external_virtual_cockpit
					(
						VIRTUAL_COCKPIT_MOVING_WIPER |
						VIRTUAL_COCKPIT_RAIN_EFFECT |
						VIRTUAL_COCKPIT_MAIN_ROTOR |
						VIRTUAL_COCKPIT_COMPASS,
						NULL
					);
	
					if (lock_screen (active_screen))
					{
						blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U20_L30_RLE), ix_640_480, iy_640_480);
	
						unlock_screen (active_screen);
					}

					draw_hind_internal_virtual_cockpit
					(
						VIRTUAL_COCKPIT_HUD_GLASS |
						VIRTUAL_COCKPIT_HUD_DISPLAY
					);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_AHEAD:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR |
					VIRTUAL_COCKPIT_COMPASS,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_WIPER_U20_AHD_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U20_AHD_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}

				draw_hind_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_HUD_GLASS |
					VIRTUAL_COCKPIT_HUD_DISPLAY
				);
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_RIGHT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_WIPER_U20_R30_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U20_R30_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}

				draw_hind_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_HUD_GLASS |
					VIRTUAL_COCKPIT_HUD_DISPLAY
				);
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_RIGHT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U20_R60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_RIGHT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_U20_R90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_LEFT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_LVL_L90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_LEFT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_LVL_L60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_LEFT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_WIPER_LVL_L30_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_LVL_L30_RLE), ix_640_480, iy_640_480);

					draw_havoc_g_meter (panel);

					draw_havoc_radar_altimeter (panel);

					draw_hind_weapons_management_panel_lamps (panel);

					draw_hind_master_caution_lamp (panel);

					unlock_screen (active_screen);
				}

				draw_hind_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_HUD_GLASS |
					VIRTUAL_COCKPIT_HUD_DISPLAY
				);
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_AHEAD:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_WIPER_LVL_AHD_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_LVL_AHD_RLE), ix_640_480, iy_640_480);

					draw_havoc_g_meter (panel);

					draw_havoc_radar_altimeter (panel);

					draw_havoc_weapons_management_panel_lamps (panel);

					draw_hind_threat_warning_display (panel);

					draw_hind_master_caution_lamp (panel);

					draw_hind_warning_panel_lamps (panel);

					unlock_screen (active_screen);
				}

				draw_hind_internal_virtual_cockpit (VIRTUAL_COCKPIT_HUD_GLASS);

				draw_hind_hud_on_cockpit (get_global_hud_enlarge ());
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_RIGHT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_WIPER_LVL_R30_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_LVL_R30_RLE), ix_640_480, iy_640_480);

					draw_hind_status_panel_lamps (panel);

					draw_hind_threat_warning_display (panel);

					draw_hind_warning_panel_lamps (panel);

					unlock_screen (active_screen);
				}

				draw_hind_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_HUD_GLASS |
					VIRTUAL_COCKPIT_HUD_DISPLAY
				);
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_RIGHT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_LVL_R60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_RIGHT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_LVL_R90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_LEFT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_D20_L90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_LEFT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_D20_L60_RLE), ix_640_480, iy_640_480);

					draw_havoc_barometric_altimeter (panel);

					draw_hind_weapons_management_panel_lamps (panel);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_LEFT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_ADI |
					VIRTUAL_COCKPIT_HSI |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_WIPER_D20_L30_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_D20_L30_RLE), ix_640_480, iy_640_480);

					draw_havoc_barometric_altimeter (panel);

					draw_havoc_airspeed_indicator (panel);

					draw_havoc_main_rotor_rpm_indicator (panel);

					draw_havoc_g_meter (panel);

					draw_havoc_vertical_speed_indicator (panel);

					draw_havoc_clock (panel);

					draw_havoc_radar_altimeter (panel);

					draw_hind_weapons_management_panel_lamps (panel);

					draw_hind_master_caution_lamp (panel);

					unlock_screen (active_screen);
				}

				draw_hind_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_HUD_GLASS |
					VIRTUAL_COCKPIT_HUD_DISPLAY |
					VIRTUAL_COCKPIT_CRT_DISPLAY |
					VIRTUAL_COCKPIT_INSTRUMENT_NEEDLES
				);
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_AHEAD:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_ADI |
					VIRTUAL_COCKPIT_HSI |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_WIPER_D20_AHD_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_D20_AHD_RLE), ix_640_480, iy_640_480);

					draw_havoc_barometric_altimeter (panel);

					draw_havoc_airspeed_indicator (panel);

					draw_havoc_main_rotor_rpm_indicator (panel);

					draw_havoc_g_meter (panel);

					draw_havoc_engine_torque_indicator (panel);

					draw_havoc_engine_temperature_indicator (panel);

					draw_havoc_engine_rpm_indicator (panel);

					draw_havoc_engine_temperature_and_rpm_indicator_ticks (panel);

					draw_havoc_vertical_speed_indicator (panel);

					draw_havoc_clock (panel);

					draw_havoc_radar_altimeter (panel);

					draw_havoc_fuel_gauge (panel);

					draw_havoc_fixed_cockpit_hsi_waypoint_distance_digits (panel);

					draw_havoc_fixed_cockpit_hsi_waypoint_identifier (panel);

					draw_havoc_weapons_management_panel_lamps (panel);

					draw_havoc_status_panel_lamps (panel);

					draw_havoc_threat_warning_display (panel);

					draw_havoc_master_caution_lamp (panel);

					draw_havoc_warning_panel_lamps (panel);

					draw_havoc_radio_lamp (panel);

					draw_havoc_oil_gauges (panel);

					unlock_screen (active_screen);
				}

				draw_hind_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_HUD_GLASS |
					VIRTUAL_COCKPIT_HUD_DISPLAY |
					VIRTUAL_COCKPIT_INSTRUMENT_NEEDLES
				);

				draw_hind_mfd_on_cockpit (fx_640_480 + 354.0, fy_640_480 + 337.0, FALSE, FALSE);

				draw_hind_ekran_display_on_cockpit (fx_640_480 + 459.0, fy_640_480 + 310.0);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_CRT_MASK_D20_AHD_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_RIGHT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_WIPER_D20_R30_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_D20_R30_RLE), ix_640_480, iy_640_480);

					draw_havoc_engine_torque_indicator (panel);

					draw_havoc_engine_temperature_indicator (panel);

					draw_havoc_engine_rpm_indicator (panel);

					draw_havoc_engine_temperature_and_rpm_indicator_ticks (panel);

					draw_havoc_fuel_gauge (panel);

					draw_hind_status_panel_lamps (panel);

					draw_hind_threat_warning_display (panel);

					draw_hind_warning_panel_lamps (panel);

					draw_hind_radio_lamp (panel);

					draw_havoc_oil_gauges (panel);

					unlock_screen (active_screen);
				}

				draw_hind_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_HUD_GLASS |
					VIRTUAL_COCKPIT_HUD_DISPLAY |
					VIRTUAL_COCKPIT_CRT_DISPLAY |
					VIRTUAL_COCKPIT_EKRAN_DISPLAY
				);
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_RIGHT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_D20_R60_RLE), ix_640_480, iy_640_480);

					draw_hind_status_panel_lamps (panel);

					draw_hind_radio_lamp (panel);

					draw_havoc_oil_gauges (panel);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_RIGHT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_D20_R90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}
			else
			{
				draw_hind_hud_on_cockpit (TRUE);
			}

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_SPECIAL_HAVOC_TV:
		////////////////////////////////////////
		{
			if (lock_screen (active_screen))
			{
				blit_rgb_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_CRT_RGB), ix_640_480, iy_640_480);

				unlock_screen (active_screen);
			}

			draw_hind_mfd_on_cockpit (fx_640_480 + 321.0, fy_640_480 + 229.0, TRUE, FALSE);

			if (lock_screen (active_screen))
			{
				blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_CRT_MASK_CRT_RLE), ix_640_480, iy_640_480);

				unlock_screen (active_screen);
			}

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_SPECIAL_HAVOC_HUD:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_hind_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_LARGE_HUD |
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_WIPER_HUD)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_HAVOC_HUD_RLE), ix_640_480, iy_640_480);

					draw_hind_threat_warning_display (panel);

					draw_hind_master_caution_lamp (panel);

					draw_hind_warning_panel_lamps (panel);

					unlock_screen (active_screen);
				}

				draw_hind_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_LARGE_HUD |
					VIRTUAL_COCKPIT_HUD_GLASS
				);
			}

			draw_hind_hud_on_cockpit (TRUE);

			draw_hind_hms ();

			break;
		}
		////////////////////////////////////////
		default:
		////////////////////////////////////////
		{
			debug_fatal ("Invalid cockpit panel = %d", panel);

			break;
		}
	}
}
Beispiel #8
0
void draw_ah64a_cockpit (cockpit_panels panel)
{
	////////////////////////////////////////
	//
	// select cockpit graphics wrt time of day
	//
	////////////////////////////////////////

	switch (get_local_entity_int_value (get_session_entity (), INT_TYPE_DAY_SEGMENT_TYPE))
	{
		case DAY_SEGMENT_TYPE_DAWN:
		{
			base_cockpit_graphics_file = GRAPHICS_COCKPITS_APACHE_LEVEL2_BASE;

			break;
		}
		case DAY_SEGMENT_TYPE_DAY:
		{
			base_cockpit_graphics_file = GRAPHICS_COCKPITS_APACHE_LEVEL1_BASE;

			break;
		}
		case DAY_SEGMENT_TYPE_DUSK:
		{
			base_cockpit_graphics_file = GRAPHICS_COCKPITS_APACHE_LEVEL2_BASE;

			break;
		}
		case DAY_SEGMENT_TYPE_NIGHT:
		{
			base_cockpit_graphics_file = GRAPHICS_COCKPITS_APACHE_LEVEL3_BASE;

			break;
		}
	}

	#if DEMO_VERSION

	base_cockpit_graphics_file = GRAPHICS_COCKPITS_APACHE_LEVEL1_BASE;

	#endif

	set_ah64a_instrument_colours ();

	////////////////////////////////////////
	//
	// draw overlaid instruments
	//
	////////////////////////////////////////

	if (!get_global_draw_cockpit_graphics ())
	{
		if (get_global_draw_overlaid_instruments ())
		{
			if ((panel != COCKPIT_PANEL_SPECIAL_APACHE_LHS_MFD) && (panel != COCKPIT_PANEL_SPECIAL_APACHE_RHS_MFD))
			{
				draw_overlaid_ah64a_mfd (68.0, 412.0, 128.0, MFD_LOCATION_LHS);

				draw_overlaid_ah64a_mfd (572.0, 412.0, 128.0, MFD_LOCATION_RHS);
			}
		}
	}

	////////////////////////////////////////
	//
	// draw cockpits
	//
	////////////////////////////////////////

	switch (panel)
	{
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_LEFT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U40_L90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_LEFT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U40_L60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_LEFT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U40_L30_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_AHEAD:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U40_AHD_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_RIGHT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U40_R30_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_RIGHT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U40_R60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP40_RIGHT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U40_R90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_LEFT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U20_L90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_LEFT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U20_L60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_LEFT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_WIPER_U20_L30_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U20_L30_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_AHEAD:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_WIPER_U20_AHD_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U20_AHD_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_RIGHT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U20_R30_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_RIGHT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U20_R60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_UP20_RIGHT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_U20_R90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_LEFT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_LVL_L90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_LEFT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_LVL_L60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_LEFT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_WIPER_LVL_L30_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_LVL_L30_RLE), ix_640_480, iy_640_480);

					draw_ah64a_indicator_lamps (panel);

					draw_ah64a_fire_detector_lamps (panel);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_AHEAD:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_WIPER_LVL_AHD_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_LVL_AHD_RLE), ix_640_480, iy_640_480);

					draw_ah64a_indicator_lamps (panel);

					draw_ah64a_fire_detector_lamps (panel);

					unlock_screen (active_screen);
				}

				draw_ah64a_upfront_display_on_cockpit (fx_640_480 + 338.0, fy_640_480 + 428.0);
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_RIGHT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_WIPER_LVL_R30_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_LVL_R30_RLE), ix_640_480, iy_640_480);

					draw_ah64a_indicator_lamps (panel);

					unlock_screen (active_screen);
				}

				draw_ah64a_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_UPFRONT_DISPLAY
				);
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_RIGHT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_LVL_R60_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_RIGHT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_LVL_R90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_LEFT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_D20_L90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_LEFT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_D20_L60_RLE), ix_640_480, iy_640_480);

					draw_ah64a_fixed_cockpit_clock_hands (panel);

					draw_ah64a_armament_lamps (panel);

					unlock_screen (active_screen);
				}

				draw_ah64a_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_INSTRUMENT_NEEDLES
				);
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_LEFT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_WIPER_D20_L30_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_D20_L30_RLE), ix_640_480, iy_640_480);

					draw_ah64a_fixed_cockpit_clock_hands (panel);

					draw_ah64a_indicator_lamps (panel);

					draw_ah64a_fire_detector_lamps (panel);

					draw_ah64a_armament_lamps (panel);

					draw_ah64a_mfd_lamps (panel);

					unlock_screen (active_screen);
				}

				draw_ah64a_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_LHS_MFD_DISPLAY |
					VIRTUAL_COCKPIT_RHS_MFD_DISPLAY |
					VIRTUAL_COCKPIT_UPFRONT_DISPLAY |
					VIRTUAL_COCKPIT_INSTRUMENT_NEEDLES
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_MFD_MASK_D20_L30_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_AHEAD:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR |
					VIRTUAL_COCKPIT_ADI |
					VIRTUAL_COCKPIT_COMPASS,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_WIPER_D20_AHD_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_D20_AHD_RLE), ix_640_480, iy_640_480);

					draw_ah64a_fixed_cockpit_airspeed_indicator_needle (panel);

					draw_ah64a_fixed_cockpit_barometric_altimeter_digits (panel);

					draw_ah64a_fixed_cockpit_barometric_altimeter_needle (panel);

					draw_ah64a_fixed_cockpit_clock_hands (panel);

					draw_ah64a_indicator_lamps (panel);

					draw_ah64a_fire_detector_lamps (panel);

					draw_ah64a_armament_lamps (panel);

					draw_ah64a_mfd_lamps (panel);

					unlock_screen (active_screen);
				}

				draw_ah64a_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_INSTRUMENT_NEEDLES
				);

				draw_ah64a_upfront_display_on_cockpit (fx_640_480 + 334.0, fy_640_480 + 226.0);

				draw_ah64a_mfd_on_cockpit (fx_640_480 + 226.0, fy_640_480 + 367.0, FALSE, FALSE, MFD_LOCATION_LHS);

				draw_ah64a_mfd_on_cockpit (fx_640_480 + 414.0, fy_640_480 + 367.0, FALSE, FALSE, MFD_LOCATION_RHS);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_MFD_MASK_D20_AHD_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_RIGHT30:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RENDERED_WIPER |
					VIRTUAL_COCKPIT_MOVING_WIPER |
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR |
					VIRTUAL_COCKPIT_ADI |
					VIRTUAL_COCKPIT_COMPASS,
					get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_WIPER_D20_R30_RLE)
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_D20_R30_RLE), ix_640_480, iy_640_480);

					draw_ah64a_fixed_cockpit_airspeed_indicator_needle (panel);

					draw_ah64a_fixed_cockpit_barometric_altimeter_needle (panel);

					draw_ah64a_indicator_lamps (panel);

					draw_ah64a_mfd_lamps (panel);

					unlock_screen (active_screen);
				}

				draw_ah64a_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_LHS_MFD_DISPLAY |
					VIRTUAL_COCKPIT_RHS_MFD_DISPLAY |
					VIRTUAL_COCKPIT_UPFRONT_DISPLAY |
					VIRTUAL_COCKPIT_INSTRUMENT_NEEDLES
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_MFD_MASK_D20_R30_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_RIGHT60:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR |
					VIRTUAL_COCKPIT_ADI |
					VIRTUAL_COCKPIT_COMPASS,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_D20_R60_RLE), ix_640_480, iy_640_480);

					draw_ah64a_fixed_cockpit_airspeed_indicator_needle (panel);

					draw_ah64a_fixed_cockpit_barometric_altimeter_needle (panel);

					unlock_screen (active_screen);
				}

				draw_ah64a_internal_virtual_cockpit
				(
					VIRTUAL_COCKPIT_INSTRUMENT_NEEDLES
				);
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_RIGHT90:
		////////////////////////////////////////
		{
			if (get_global_draw_cockpit_graphics ())
			{
				draw_ah64a_external_virtual_cockpit
				(
					VIRTUAL_COCKPIT_RAIN_EFFECT |
					VIRTUAL_COCKPIT_MAIN_ROTOR,
					NULL
				);

				if (lock_screen (active_screen))
				{
					blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_D20_R90_RLE), ix_640_480, iy_640_480);

					unlock_screen (active_screen);
				}
			}

			draw_ah64a_hud ();

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_SPECIAL_APACHE_LHS_MFD:
		////////////////////////////////////////
		{
			if (lock_screen (active_screen))
			{
				blit_rgb_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_LHS_MFD_RGB), ix_640_480, iy_640_480);

				draw_ah64a_armament_lamps (panel);

				draw_ah64a_mfd_lamps (panel);

				unlock_screen (active_screen);
			}

			draw_ah64a_mfd_on_cockpit (fx_640_480 + 320.0, fy_640_480 + 235.0, TRUE, FALSE, MFD_LOCATION_LHS);

			if (lock_screen (active_screen))
			{
				blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_MFD_MASK_LHS_MFD_RLE), ix_640_480, iy_640_480);

				unlock_screen (active_screen);
			}

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_SPECIAL_APACHE_RHS_MFD:
		////////////////////////////////////////
		{
			draw_ah64a_external_virtual_cockpit
			(
				VIRTUAL_COCKPIT_LARGE_ADI,
				NULL
			);

			if (lock_screen (active_screen))
			{
				blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_RHS_MFD_RLE), ix_640_480, iy_640_480);

				draw_ah64a_mfd_lamps (panel);

				unlock_screen (active_screen);
			}

			draw_ah64a_internal_virtual_cockpit
			(
				VIRTUAL_COCKPIT_INSTRUMENT_LARGE_NEEDLES
			);

			draw_ah64a_mfd_on_cockpit (fx_640_480 + 320.0, fy_640_480 + 235.0, TRUE, FALSE, MFD_LOCATION_RHS);

			if (lock_screen (active_screen))
			{
				blit_rle_graphic (get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_MFD_MASK_RHS_MFD_RLE), ix_640_480, iy_640_480);

				unlock_screen (active_screen);
			}

			break;
		}
		////////////////////////////////////////
		default:
		////////////////////////////////////////
		{
			debug_fatal ("Invalid cockpit panel = %d", panel);

			break;
		}
	}
}
Beispiel #9
0
void brief_initialise_game (void)
{

	////////////////////////////////////////
	set_game_status (GAME_STATUS_UNINITIALISED);
	set_comms_model (COMMS_MODEL_SERVER);
	////////////////////////////////////////

	////////////////////////////////////////
	debug_watch ("Game status                                           =  %s", MT_STRING_PTR, &game_status_string);
	debug_watch ("Comms model                                           =  %s", MT_STRING_PTR, &comms_model_string);
	////////////////////////////////////////

	////////////////////////////////////////
	//
	// WARNING!     INITIALISATION ORDER IS CRITICAL
	//
	// NOTE :       MEMORY BLOCK SYSTEM CONSTRAINTS;
	//                      DO NOT USE REGISTER_EXIT_FUNCTION
	//                      FOR DEINITIALISATION.
	//
	////////////////////////////////////////

	////////////////////////////////////////
	//
	// INITIALISE GLOBAL OPTIONS
	//
	////////////////////////////////////////

	debug_log ( "Initialising memory system" );

	reset_safe_memory_counter ();

	reset_safe_memory_mapped_file_counter ();

	initialise_memory_block_system ();

	create_memory_block_configuration (memory_block_config, sizeof (memory_block_config) / sizeof (memory_block_configuration));

	////////////////////////////////////////
	//
	// INITIALISE GRAPHICS FILES
	//
	// NB. FIRST PASS CONVERSION ONLY
	//
	////////////////////////////////////////

	debug_log ( "Installing graphics files" );

	//
	// Check the graphics file format
	//

	{

		int
		red_mask,
		green_mask,
		blue_mask,
		alpha_mask;

		get_screen_pixel_format ( &red_mask, &green_mask, &blue_mask, &alpha_mask );

		if (	( red_mask != get_global_graphics_files_red_mask () ) ||
				( green_mask != get_global_graphics_files_green_mask () ) ||
				( blue_mask != get_global_graphics_files_blue_mask () ) ||
				( alpha_mask != get_global_graphics_files_alpha_mask () ) )
		{

			set_global_graphics_files_red_mask ( red_mask );

			set_global_graphics_files_green_mask ( green_mask );

			set_global_graphics_files_blue_mask ( blue_mask );

			set_global_graphics_files_alpha_mask ( alpha_mask );

			set_global_graphics_files_wrong_format ( TRUE );
		}
	}

	if ( (command_line_clean_graphics) || ( ( get_global_graphics_files_wrong_format () ) && ( !command_line_no_graphics_conversion ) ) )
	{

		uninstall_graphics_files ();
	}

	if ((!get_global_graphics_files_installed ()) || command_line_new_graphics)
	{
		while (!install_graphics_files (GRAPHICS_CONVERSION_FIRST_PASS));
	}

	debug_log ( "Opening graphics files" );

	mopen_all_graphics_files (GRAPHICS_CONVERSION_FIRST_PASS);

	//
	// Reset the graphics file format change flag now
	//

	set_global_graphics_files_wrong_format ( FALSE );

	debug_log ( "Installing event stack" );

	initialise_event_stack ();

	debug_log ( "Installing ui" );

	switch (command_line_run_mode)
	{
/*
		case RUN_MODE_AITOOL:
		{

			push_event (aitool_events, "aitool events");

			break;
		}
*/
		case RUN_MODE_NORMAL:
		default:
		{

			push_event (ui_events, "ui events");

			break;
		}
	}

	initialise_dinput_to_ascii_conversion_table ();

	debug_log ( "Initialising ui system" );

	initialise_ui_system (2000);

	debug_log ( "Initialising ui font" );

	//
	// Hack in to support all font resolutions
	//

	set_ui_font_resolution (get_global_3d_visual_screen_width (), get_global_3d_visual_screen_height ());
	initialise_ui_font ();

	set_ui_font_type (UI_FONT_ARIAL_18);

	debug_log ( "Initialising ui objects" );

	initialise_ui_objects ();

	debug_log ( "Initialising ui menus" );


	////////////////////////////////////////
	//
	// INITIALISE LANGUAGE DATABASE
	//
	////////////////////////////////////////

//ö	initialise_language_database ();



	initialise_title_screen ();
	initialise_init_screen ();

	debug_log ( "Initialising ui mouseptr" );

	initialise_mouse_pointer ((rgb_packed *) get_graphics_file_data (GRAPHICS_UI_COMMON_MOUSE_POINTER));

	debug_log ( "Finished brief install" );
}
Beispiel #10
0
void draw_default_mfd_lamps (cockpit_panels panel)
{
	unsigned char
		*sprite_data,
		*mask_data;

	sprite_data = get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_SPRITES);

	mask_data = get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_SPRITES_MASK);

	if (test_cockpit_instruments)
	{
		static float
			timer = 0.0;

		timer += get_delta_time ();

		default_lamps.mfd_lamp_1 = 0;
		default_lamps.mfd_lamp_2 = 0;

		if (timer < (ONE_SECOND * 1.0))
		{
		}
		else if (timer < (ONE_SECOND * 2.0))
		{
			default_lamps.mfd_lamp_1 = 1;
		}
		else if (timer < (ONE_SECOND * 3.0))
		{
			default_lamps.mfd_lamp_2 = 1;
		}
		else if (timer < (ONE_SECOND * 4.0))
		{
			default_lamps.mfd_lamp_1 = 1;
			default_lamps.mfd_lamp_2 = 1;
		}
		else
		{
			timer = 0.0;
		}
	}

	switch (panel)
	{
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_LEFT30:
		////////////////////////////////////////
		{
			#define X_ORG (577)
			#define Y_ORG (309)

			draw_lamp (default_lamps.mfd_lamp_1 , X_ORG +  11, Y_ORG +   7,  51, 187,  31,  29,   0);	// (100% alpha)
			draw_lamp (default_lamps.mfd_lamp_2 , X_ORG +   7, Y_ORG +  30,  47, 210,  29,  30,  13);	// (95% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_AHEAD:
		////////////////////////////////////////
		{
			#define X_ORG (305)
			#define Y_ORG (283)

			draw_lamp (default_lamps.mfd_lamp_1 , X_ORG +   3, Y_ORG +   3,   3, 183,  24,  22,   0);	// (100% alpha)
			draw_lamp (default_lamps.mfd_lamp_2 , X_ORG +   3, Y_ORG +  25,   3, 205,  24,  21,  13);	// (95% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_RIGHT30:
		////////////////////////////////////////
		{
			#define X_ORG (17)
			#define Y_ORG (311)

			draw_lamp (default_lamps.mfd_lamp_1 , X_ORG +   3, Y_ORG +   3,  93, 183,  33,  31,   0);	// (100% alpha)
			draw_lamp (default_lamps.mfd_lamp_2 , X_ORG +   8, Y_ORG +  27,  98, 207,  33,  31,  13);	// (95% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_SPECIAL_APACHE_LHS_MFD:
		////////////////////////////////////////
		{
			#define X_ORG (536)
			#define Y_ORG (9)

			draw_lamp (default_lamps.mfd_lamp_1 , X_ORG +   2, Y_ORG +   8, 142, 188,  63,  56,   0);	// (100% alpha)
			draw_lamp (default_lamps.mfd_lamp_2 , X_ORG +   2, Y_ORG +  64, 142, 244,  63,  56,  13);	// (95% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_SPECIAL_APACHE_RHS_MFD:
		////////////////////////////////////////
		{
			#define X_ORG (35)
			#define Y_ORG (11)

			draw_lamp (default_lamps.mfd_lamp_1 , X_ORG +   4, Y_ORG +   8, 214, 188,  63,  56,   0);	// (100% alpha)
			draw_lamp (default_lamps.mfd_lamp_2 , X_ORG +   4, Y_ORG +  64, 214, 244,  63,  56,  13);	// (95% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		default:
		////////////////////////////////////////
		{
			debug_fatal (lamp_error);

			break;
		}
	}
}
Beispiel #11
0
void draw_default_armament_lamps (cockpit_panels panel)
{
	unsigned char
		*sprite_data,
		*mask_data;

	sprite_data = get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_SPRITES);

	mask_data = get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_SPRITES_MASK);

	if (test_cockpit_instruments)
	{
		static float
			timer = 0.0;

		timer += get_delta_time ();

		default_lamps.armament_lamp_1 = 0;
		default_lamps.armament_lamp_2 = 0;

		if (timer < (ONE_SECOND * 1.0))
		{
		}
		else if (timer < (ONE_SECOND * 2.0))
		{
			default_lamps.armament_lamp_1 = 1;
		}
		else if (timer < (ONE_SECOND * 3.0))
		{
			default_lamps.armament_lamp_2 = 1;
		}
		else if (timer < (ONE_SECOND * 4.0))
		{
			default_lamps.armament_lamp_1 = 1;
			default_lamps.armament_lamp_2 = 1;
		}
		else
		{
			timer = 0.0;
		}
	}

	switch (panel)
	{
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_LEFT60:
		////////////////////////////////////////
		{
			#define X_ORG (613)
			#define Y_ORG (395)

			draw_lamp (default_lamps.armament_lamp_1 , X_ORG +   4, Y_ORG +   8, 134, 328,  23,  31,   0);	// (100% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_LEFT30:
		////////////////////////////////////////
		{
			#define X_ORG (339)
			#define Y_ORG (347)

			draw_lamp (default_lamps.armament_lamp_1 , X_ORG +   4, Y_ORG +   6,  74, 325,  23,  25,   0);	// (100% alpha)
			draw_lamp (default_lamps.armament_lamp_2 , X_ORG +  23, Y_ORG +  13,  93, 332,  23,  25,  13);	// (95% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_AHEAD:
		////////////////////////////////////////
		{
			#define X_ORG (72)
			#define Y_ORG (375)

			draw_lamp (default_lamps.armament_lamp_1 , X_ORG +   9, Y_ORG +   7,   9, 327,  22,  23,   0);	// (100% alpha)
			draw_lamp (default_lamps.armament_lamp_2 , X_ORG +  31, Y_ORG +   7,  31, 327,  22,  23,  13);	// (95% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_SPECIAL_APACHE_LHS_MFD:
		////////////////////////////////////////
		{
			#define X_ORG (0)
			#define Y_ORG (277)

			draw_lamp (default_lamps.armament_lamp_2 , X_ORG +   4, Y_ORG +   4, 164, 324,  64,  59,  13);	// (95% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		default:
		////////////////////////////////////////
		{
			debug_fatal (lamp_error);

			break;
		}
	}
}
Beispiel #12
0
void draw_default_fire_detector_lamps (cockpit_panels panel)
{
	unsigned char
		*sprite_data,
		*mask_data;

	sprite_data = get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_SPRITES);

	mask_data = get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_SPRITES_MASK);

	if (test_cockpit_instruments)
	{
		static float
			timer = 0.0;

		timer += get_delta_time ();

		default_lamps.engine_1_fire = 0;
		default_lamps.apu_fire = 0;
		default_lamps.engine_2_fire = 0;

		if (timer < (ONE_SECOND * 1.0))
		{
		}
		else if (timer < (ONE_SECOND * 2.0))
		{
			default_lamps.engine_1_fire = 1;
		}
		else if (timer < (ONE_SECOND * 3.0))
		{
			default_lamps.apu_fire = 1;
		}
		else if (timer < (ONE_SECOND * 4.0))
		{
			default_lamps.engine_2_fire = 1;
		}
		else if (timer < (ONE_SECOND * 5.0))
		{
			default_lamps.engine_1_fire = 1;
			default_lamps.apu_fire = 1;
			default_lamps.engine_2_fire = 1;
		}
		else
		{
			timer = 0.0;
		}
	}

	switch (panel)
	{
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_LEFT30:
		////////////////////////////////////////
		{
			#define X_ORG (461)
			#define Y_ORG (417)

			draw_lamp (default_lamps.engine_1_fire	, X_ORG +  11, Y_ORG +   5, 371,  95,  26,  28,   0);	// (100% alpha)
			draw_lamp (default_lamps.apu_fire			, X_ORG +  45, Y_ORG +  10, 405, 100,  26,  29,  13);	// (95% alpha)
			draw_lamp (default_lamps.engine_2_fire	, X_ORG +  82, Y_ORG +  16, 442, 106,  26,  29,  25);	// (90% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_AHEAD:
		////////////////////////////////////////
		{
			#define X_ORG (164)
			#define Y_ORG (408)

			draw_lamp (default_lamps.engine_1_fire	, X_ORG +  10, Y_ORG +  12,  10, 102,  26,  27,   0);	// (100% alpha)
			draw_lamp (default_lamps.apu_fire			, X_ORG +  42, Y_ORG +  12,  42, 102,  26,  27,  13);	// (95% alpha)
			draw_lamp (default_lamps.engine_2_fire	, X_ORG +  75, Y_ORG +  12,  75, 102,  26,  27,  25);	// (90% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_LEFT30:
		////////////////////////////////////////
		{
			#define X_ORG (446)
			#define Y_ORG (214)

			draw_lamp (default_lamps.engine_1_fire	, X_ORG +  16, Y_ORG +   7, 256,  97,  26,  27,   0);	// (100% alpha)
			draw_lamp (default_lamps.apu_fire			, X_ORG +  48, Y_ORG +  12, 288, 102,  26,  27,  13);	// (95% alpha)
			draw_lamp (default_lamps.engine_2_fire	, X_ORG +  82, Y_ORG +  18, 322, 108,  26,  27,  25);	// (90% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_AHEAD:
		////////////////////////////////////////
		{
			#define X_ORG (172)
			#define Y_ORG (213)

			draw_lamp (default_lamps.engine_1_fire	, X_ORG +   9, Y_ORG +   5, 129,  95,  26,  27,   0);	// (100% alpha)
			draw_lamp (default_lamps.apu_fire			, X_ORG +  40, Y_ORG +   5, 160,  95,  26,  27,  13);	// (95% alpha)
			draw_lamp (default_lamps.engine_2_fire	, X_ORG +  70, Y_ORG +   5, 190,  95,  26,  27,  25);	// (90% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		default:
		////////////////////////////////////////
		{
			debug_fatal (lamp_error);

			break;
		}
	}
}
Beispiel #13
0
void draw_default_indicator_lamps (cockpit_panels panel)
{
	unsigned char
		*sprite_data,
		*mask_data;

	sprite_data = get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_SPRITES);

	mask_data = get_graphics_file_data (base_cockpit_graphics_file + GRAPHICS_COCKPITS_APACHE_SPRITES_MASK);

	if (test_cockpit_instruments)
	{
		static float
			timer = 0.0;

		default_lamps.indicator_lamp_1 = 0;
		default_lamps.indicator_lamp_2 = 0;
		default_lamps.indicator_lamp_3 = 0;
		default_lamps.indicator_lamp_4 = 0;
		default_lamps.indicator_lamp_5 = 0;
		default_lamps.indicator_lamp_6 = 0;
		default_lamps.indicator_lamp_7 = 0;
		default_lamps.indicator_lamp_8 = 0;
		default_lamps.indicator_lamp_9 = 0;

		timer += get_delta_time ();

		if (timer < (ONE_SECOND * 1.0))
		{
		}
		else if (timer < (ONE_SECOND * 2.0))
		{
			default_lamps.indicator_lamp_1 = 1;
		}
		else if (timer < (ONE_SECOND * 3.0))
		{
			default_lamps.indicator_lamp_2 = 1;
		}
		else if (timer < (ONE_SECOND * 4.0))
		{
			default_lamps.indicator_lamp_3 = 1;
		}
		else if (timer < (ONE_SECOND * 5.0))
		{
			default_lamps.indicator_lamp_4 = 1;
		}
		else if (timer < (ONE_SECOND * 6.0))
		{
			default_lamps.indicator_lamp_5 = 1;
		}
		else if (timer < (ONE_SECOND * 7.0))
		{
			default_lamps.indicator_lamp_6 = 1;
		}
		else if (timer < (ONE_SECOND * 8.0))
		{
			default_lamps.indicator_lamp_7 = 1;
		}
		else if (timer < (ONE_SECOND * 9.0))
		{
			default_lamps.indicator_lamp_8 = 1;
		}
		else if (timer < (ONE_SECOND * 10.0))
		{
			default_lamps.indicator_lamp_9 = 1;
		}
		else if (timer < (ONE_SECOND * 11.0))
		{
			default_lamps.indicator_lamp_1 = 1;
			default_lamps.indicator_lamp_2 = 1;
			default_lamps.indicator_lamp_3 = 1;
			default_lamps.indicator_lamp_4 = 1;
			default_lamps.indicator_lamp_5 = 1;
			default_lamps.indicator_lamp_6 = 1;
			default_lamps.indicator_lamp_7 = 1;
			default_lamps.indicator_lamp_8 = 1;
			default_lamps.indicator_lamp_9 = 1;
		}
		else
		{
			timer = 0.0;
		}
	}

	switch (panel)
	{
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_LEFT30:
		////////////////////////////////////////
		{
			#define X_ORG (524)
			#define Y_ORG (378)

			draw_lamp (default_lamps.indicator_lamp_1, X_ORG +   9, Y_ORG +   5,   9,  45,  22,  21,   0);	// (100% alpha)
			draw_lamp (default_lamps.indicator_lamp_2, X_ORG +  32, Y_ORG +   8,  32,  48,  22,  22,  13);	// (95% alpha)
			draw_lamp (default_lamps.indicator_lamp_3, X_ORG +  55, Y_ORG +  11,  55,  51,  23,  22,  25);	// (90% alpha)
			draw_lamp (default_lamps.indicator_lamp_4, X_ORG +  79, Y_ORG +  14,  79,  54,  24,  22,  38);	// (85% alpha)
			draw_lamp (default_lamps.indicator_lamp_5, X_ORG + 104, Y_ORG +  16, 104,  56,  12,  22,  51);	// (80% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_AHEAD:
		////////////////////////////////////////
		{
			#define X_ORG (225)
			#define Y_ORG (370)

			draw_lamp (default_lamps.indicator_lamp_1, X_ORG +   7, Y_ORG +   4,   7,   4,  19,  19,   0);	// (100% alpha)
			draw_lamp (default_lamps.indicator_lamp_2, X_ORG +  27, Y_ORG +   4,  27,   4,  18,  19,  13);	// (95% alpha)
			draw_lamp (default_lamps.indicator_lamp_3, X_ORG +  47, Y_ORG +   5,  47,   5,  18,  18,  25);	// (90% alpha)
			draw_lamp (default_lamps.indicator_lamp_4, X_ORG +  66, Y_ORG +   5,  66,   5,  18,  18,  38);	// (85% alpha)
			draw_lamp (default_lamps.indicator_lamp_5, X_ORG +  86, Y_ORG +   5,  86,   5,  18,  18,  51);	// (80% alpha)
			draw_lamp (default_lamps.indicator_lamp_6, X_ORG + 106, Y_ORG +   5, 106,   5,  18,  18,  64);	// (75% alpha)
			draw_lamp (default_lamps.indicator_lamp_7, X_ORG + 125, Y_ORG +   5, 125,   5,  18,  18,  76);	// (70% alpha)
			draw_lamp (default_lamps.indicator_lamp_8, X_ORG + 144, Y_ORG +   5, 144,   5,  19,  18,  89);	// (65% alpha)
			draw_lamp (default_lamps.indicator_lamp_9, X_ORG + 164, Y_ORG +   4, 164,   4,  19,  19, 102);	// (60% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_LEVEL_RIGHT30:
		////////////////////////////////////////
		{
			#define X_ORG (0)
			#define Y_ORG (380)

			draw_lamp (default_lamps.indicator_lamp_5, X_ORG +   0, Y_ORG +  14, 120,  54,  12,  22,  51);	// (80% alpha)
			draw_lamp (default_lamps.indicator_lamp_6, X_ORG +  13, Y_ORG +  12, 133,  52,  24,  22,  64);	// (75% alpha)
			draw_lamp (default_lamps.indicator_lamp_7, X_ORG +  38, Y_ORG +   8, 158,  48,  23,  23,  76);	// (70% alpha)
			draw_lamp (default_lamps.indicator_lamp_8, X_ORG +  62, Y_ORG +   6, 182,  46,  22,  22,  89);	// (65% alpha)
			draw_lamp (default_lamps.indicator_lamp_9, X_ORG +  85, Y_ORG +   3, 205,  43,  22,  21, 102);	// (60% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_LEFT30:
		////////////////////////////////////////
		{
			#define X_ORG (512)
			#define Y_ORG (174)

			draw_lamp (default_lamps.indicator_lamp_1, X_ORG +  13, Y_ORG +  12, 393,  12,  23,  20,   0);	// (100% alpha)
			draw_lamp (default_lamps.indicator_lamp_2, X_ORG +  34, Y_ORG +  14, 414,  14,  24,  21,  13);	// (95% alpha)
			draw_lamp (default_lamps.indicator_lamp_3, X_ORG +  56, Y_ORG +  17, 436,  17,  25,  21,  25);	// (90% alpha)
			draw_lamp (default_lamps.indicator_lamp_4, X_ORG +  79, Y_ORG +  20, 459,  20,  25,  21,  38);	// (85% alpha)
			draw_lamp (default_lamps.indicator_lamp_5, X_ORG + 103, Y_ORG +  23, 483,  23,  25,  21,  51);	// (80% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_AHEAD:
		////////////////////////////////////////
		{
			#define X_ORG (229)
			#define Y_ORG (173)

			draw_lamp (default_lamps.indicator_lamp_1, X_ORG +   6, Y_ORG +   5, 196,   5,  18,  17,   0);	// (100% alpha)
			draw_lamp (default_lamps.indicator_lamp_2, X_ORG +  25, Y_ORG +   5, 215,   5,  18,  17,  13);	// (95% alpha)
			draw_lamp (default_lamps.indicator_lamp_3, X_ORG +  44, Y_ORG +   5, 234,   5,  18,  17,  25);	// (90% alpha)
			draw_lamp (default_lamps.indicator_lamp_4, X_ORG +  63, Y_ORG +   5, 253,   5,  18,  17,  38);	// (85% alpha)
			draw_lamp (default_lamps.indicator_lamp_5, X_ORG +  82, Y_ORG +   5, 272,   5,  18,  17,  51);	// (80% alpha)
			draw_lamp (default_lamps.indicator_lamp_6, X_ORG + 101, Y_ORG +   5, 291,   5,  18,  17,  64);	// (75% alpha)
			draw_lamp (default_lamps.indicator_lamp_7, X_ORG + 120, Y_ORG +   5, 310,   5,  18,  17,  76);	// (70% alpha)
			draw_lamp (default_lamps.indicator_lamp_8, X_ORG + 139, Y_ORG +   5, 329,   5,  18,  17,  89);	// (65% alpha)
			draw_lamp (default_lamps.indicator_lamp_9, X_ORG + 158, Y_ORG +   5, 348,   5,  18,  17, 102);	// (60% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		case COCKPIT_PANEL_DOWN20_RIGHT30:
		////////////////////////////////////////
		{
			#define X_ORG (0)
			#define Y_ORG (177)

			draw_lamp (default_lamps.indicator_lamp_5, X_ORG +   0, Y_ORG +  20, 510,  20,  25,  21,  51);	// (80% alpha)
			draw_lamp (default_lamps.indicator_lamp_6, X_ORG +  24, Y_ORG +  17, 534,  17,  25,  21,  64);	// (75% alpha)
			draw_lamp (default_lamps.indicator_lamp_7, X_ORG +  48, Y_ORG +  14, 558,  14,  23,  21,  76);	// (70% alpha)
			draw_lamp (default_lamps.indicator_lamp_8, X_ORG +  70, Y_ORG +  12, 580,  12,  24,  20,  89);	// (65% alpha)
			draw_lamp (default_lamps.indicator_lamp_9, X_ORG +  92, Y_ORG +   8, 602,   8,  23,  21, 102);	// (60% alpha)

			#undef X_ORG
			#undef Y_ORG

			break;
		}
		////////////////////////////////////////
		default:
		////////////////////////////////////////
		{
			debug_fatal (lamp_error);

			break;
		}
	}
}