Exemplo n.º 1
0
void Options_Screen_MenuInit ( void )
{
	static const char *yesno_names[] =
	{
		"no",
		"yes",
		0
	};

	int y = 3*MENU_LINE_SIZE;

	s_options_screen_menu.x = SCREEN_WIDTH*0.5;
	s_options_screen_menu.y = SCREEN_HEIGHT*0.5 - 58;
	s_options_screen_menu.nitems = 0;

	s_options_screen_header.generic.type	= MTYPE_SEPARATOR;
	s_options_screen_header.generic.name	= "Screen";
	s_options_screen_header.generic.x		= MENU_FONT_SIZE/2 * strlen(s_options_screen_header.generic.name);
	s_options_screen_header.generic.y		= 0;

	crosshair_names = SetCrosshairNames ();
	s_options_screen_crosshair_box.generic.type				= MTYPE_SPINCONTROL;
	s_options_screen_crosshair_box.generic.x				= 0;
	s_options_screen_crosshair_box.generic.y				= y;
	s_options_screen_crosshair_box.generic.name				= "crosshair";
	s_options_screen_crosshair_box.generic.callback			= CrosshairFunc;
	s_options_screen_crosshair_box.itemnames				= crosshair_names;
	s_options_screen_crosshair_box.generic.statusbar		= "changes crosshair";

	// Psychospaz's changeable size crosshair
	s_options_screen_crosshairscale_slider.generic.type		= MTYPE_SLIDER;
	s_options_screen_crosshairscale_slider.generic.x		= 0;
	s_options_screen_crosshairscale_slider.generic.y		= y += 5*MENU_LINE_SIZE;
	s_options_screen_crosshairscale_slider.generic.name		= "crosshair scale";
	s_options_screen_crosshairscale_slider.generic.callback = CrosshairSizeFunc;
	s_options_screen_crosshairscale_slider.minvalue			= 1;
	s_options_screen_crosshairscale_slider.maxvalue			= 12;
	s_options_screen_crosshairscale_slider.generic.statusbar = "changes size of crosshair";

	s_options_screen_crosshairalpha_slider.generic.type		= MTYPE_SLIDER;
	s_options_screen_crosshairalpha_slider.generic.x		= 0;
	s_options_screen_crosshairalpha_slider.generic.y		= y += MENU_LINE_SIZE;
	s_options_screen_crosshairalpha_slider.generic.name		= "crosshair alpha";
	s_options_screen_crosshairalpha_slider.generic.callback = CrosshairAlphaFunc;
	s_options_screen_crosshairalpha_slider.minvalue			= 1;
	s_options_screen_crosshairalpha_slider.maxvalue			= 20;
	s_options_screen_crosshairalpha_slider.generic.statusbar = "changes opacity of crosshair";

	s_options_screen_crosshairpulse_slider.generic.type		= MTYPE_SLIDER;
	s_options_screen_crosshairpulse_slider.generic.x		= 0;
	s_options_screen_crosshairpulse_slider.generic.y		= y += MENU_LINE_SIZE;
	s_options_screen_crosshairpulse_slider.generic.name		= "crosshair pulse";
	s_options_screen_crosshairpulse_slider.generic.callback = CrosshairPulseFunc;
	s_options_screen_crosshairpulse_slider.minvalue			= 0;
	s_options_screen_crosshairpulse_slider.maxvalue			= 10;
	s_options_screen_crosshairpulse_slider.generic.statusbar = "changes pulse amplitude of crosshair";

	// hud scaling option
	s_options_screen_hudscale_slider.generic.type			= MTYPE_SLIDER;
	s_options_screen_hudscale_slider.generic.x				= 0;
	s_options_screen_hudscale_slider.generic.y				= y += 2*MENU_LINE_SIZE;
	s_options_screen_hudscale_slider.generic.name			= "status bar scale";
	s_options_screen_hudscale_slider.generic.callback		= HudScaleFunc;
	s_options_screen_hudscale_slider.minvalue				= 1;
	s_options_screen_hudscale_slider.maxvalue				= 7;
	s_options_screen_hudscale_slider.generic.statusbar		= "changes size of HUD elements";

	// hud trans option
	s_options_screen_hudalpha_slider.generic.type			= MTYPE_SLIDER;
	s_options_screen_hudalpha_slider.generic.x				= 0;
	s_options_screen_hudalpha_slider.generic.y				= y += MENU_LINE_SIZE;
	s_options_screen_hudalpha_slider.generic.name			= "status bar transparency";
	s_options_screen_hudalpha_slider.generic.callback		= HudAlphaFunc;
	s_options_screen_hudalpha_slider.minvalue				= 1;
	s_options_screen_hudalpha_slider.maxvalue				= 11;
	s_options_screen_hudalpha_slider.generic.statusbar		= "changes opacity of HUD elements";

	// hud squeeze digits option
	s_options_screen_hudsqueezedigits_box.generic.type		= MTYPE_SPINCONTROL;
	s_options_screen_hudsqueezedigits_box.generic.x			= 0;
	s_options_screen_hudsqueezedigits_box.generic.y			= y += MENU_LINE_SIZE;
	s_options_screen_hudsqueezedigits_box.generic.name		= "status bar digit squeezing";
	s_options_screen_hudsqueezedigits_box.generic.callback	= HudSqueezeDigitsFunc;
	s_options_screen_hudsqueezedigits_box.itemnames			= yesno_names;
	s_options_screen_hudsqueezedigits_box.generic.statusbar	= "enables showing of longer numbers on HUD";

	s_options_screen_fps_box.generic.type				= MTYPE_SPINCONTROL;
	s_options_screen_fps_box.generic.x					= 0;
	s_options_screen_fps_box.generic.y					= y += 2*MENU_LINE_SIZE;
	s_options_screen_fps_box.generic.name				= "FPS counter";
	s_options_screen_fps_box.generic.callback			= FPSFunc;
	s_options_screen_fps_box.itemnames					= yesno_names;
	s_options_screen_fps_box.generic.statusbar			= "enables FPS counter";

	s_options_screen_defaults_action.generic.type		= MTYPE_ACTION;
	s_options_screen_defaults_action.generic.x			= MENU_FONT_SIZE;
	s_options_screen_defaults_action.generic.y			= y+=2*MENU_LINE_SIZE;
	s_options_screen_defaults_action.generic.name		= "reset defaults";
	s_options_screen_defaults_action.generic.callback	= ScreenResetDefaultsFunc;
	s_options_screen_defaults_action.generic.statusbar	= "resets all screen settings to internal defaults";

	s_options_screen_back_action.generic.type			= MTYPE_ACTION;
	s_options_screen_back_action.generic.x				= MENU_FONT_SIZE;
	s_options_screen_back_action.generic.y				= y+=2*MENU_LINE_SIZE;
	s_options_screen_back_action.generic.name			= "back to options";
	s_options_screen_back_action.generic.callback		= UI_BackMenu;

	Menu_AddItem( &s_options_screen_menu, ( void * ) &s_options_screen_header );
	Menu_AddItem( &s_options_screen_menu, ( void * ) &s_options_screen_crosshair_box );
	Menu_AddItem( &s_options_screen_menu, ( void * ) &s_options_screen_crosshairscale_slider );
	Menu_AddItem( &s_options_screen_menu, ( void * ) &s_options_screen_crosshairalpha_slider );
	Menu_AddItem( &s_options_screen_menu, ( void * ) &s_options_screen_crosshairpulse_slider );
	Menu_AddItem( &s_options_screen_menu, ( void * ) &s_options_screen_hudscale_slider );
	Menu_AddItem( &s_options_screen_menu, ( void * ) &s_options_screen_hudalpha_slider );
	Menu_AddItem( &s_options_screen_menu, ( void * ) &s_options_screen_hudsqueezedigits_box );
	Menu_AddItem( &s_options_screen_menu, ( void * ) &s_options_screen_fps_box );
	Menu_AddItem( &s_options_screen_menu, ( void * ) &s_options_screen_defaults_action );
	Menu_AddItem( &s_options_screen_menu, ( void * ) &s_options_screen_back_action );

	ScreenSetMenuItemValues();
}
void Options_Ingame_MenuInit ( void )
{
	static const char *yesno_names[] =
	{
		"no",
		"yes",
		0
	};

	static const char *railtrail_names[] =
	{
		"colored spiral",
		"colored beam", //laser
		"colored devrail",
		0
	};

	static const char *blood_names[] =
	{
		"none",
		"puff",
		"splat",
		"bleed",
		"gore",
		0
	};

	int y = 3*MENU_LINE_SIZE;

	s_options_ingame_menu.x = SCREEN_WIDTH*0.5;
	s_options_ingame_menu.y = SCREEN_HEIGHT*0.5 - 58;
//	s_options_ingame_menu.x = viddef.width * 0.50;// - SCR_ScaledVideo(3*MENU_FONT_SIZE);
//	s_options_ingame_menu.y = viddef.height * 0.50 - SCR_ScaledVideo(7.25*MENU_FONT_SIZE); //58
	s_options_ingame_menu.nitems = 0;

	s_options_ingame_header.generic.type	= MTYPE_SEPARATOR;
	s_options_ingame_header.generic.name	= "ingame";
	s_options_ingame_header.generic.x	= MENU_FONT_SIZE/2 * strlen(s_options_ingame_header.generic.name);
	s_options_ingame_header.generic.y	= 0;

	crosshair_names = SetCrosshairNames ();
	s_options_ingame_crosshair_box.generic.type = MTYPE_SPINCONTROL;
	s_options_ingame_crosshair_box.generic.x	= 0;
	s_options_ingame_crosshair_box.generic.y	= y;
	s_options_ingame_crosshair_box.generic.name	= "crosshair";
	s_options_ingame_crosshair_box.generic.callback = CrosshairFunc;
	s_options_ingame_crosshair_box.itemnames = crosshair_names;

	// Psychospaz's changeable size crosshair
	s_options_ingame_crosshairscale_slider.generic.type	= MTYPE_SLIDER;
	s_options_ingame_crosshairscale_slider.generic.x		= 0;
	s_options_ingame_crosshairscale_slider.generic.y		= y+=5*MENU_LINE_SIZE;
	s_options_ingame_crosshairscale_slider.generic.name	= "crosshair scale";
	s_options_ingame_crosshairscale_slider.generic.callback = CrosshairSizeFunc;
	s_options_ingame_crosshairscale_slider.minvalue		= 1;
	s_options_ingame_crosshairscale_slider.maxvalue		= 12;

	// hud scaling option
	s_options_ingame_hudscale_slider.generic.type			= MTYPE_SLIDER;
	s_options_ingame_hudscale_slider.generic.x				= 0;
	s_options_ingame_hudscale_slider.generic.y				= y+=MENU_LINE_SIZE;
	s_options_ingame_hudscale_slider.generic.name			= "status bar scale";
	s_options_ingame_hudscale_slider.generic.callback		= HudScaleFunc;
	s_options_ingame_hudscale_slider.minvalue				= 1;
	s_options_ingame_hudscale_slider.maxvalue				= 7;

	// hud trans option
	s_options_ingame_hudalpha_slider.generic.type			= MTYPE_SLIDER;
	s_options_ingame_hudalpha_slider.generic.x				= 0;
	s_options_ingame_hudalpha_slider.generic.y				= y+=MENU_LINE_SIZE;
	s_options_ingame_hudalpha_slider.generic.name			= "status bar transparency";
	s_options_ingame_hudalpha_slider.generic.callback		= HudAlphaFunc;
	s_options_ingame_hudalpha_slider.minvalue				= 1;
	s_options_ingame_hudalpha_slider.maxvalue				= 11;

	s_options_ingame_fps_box.generic.type = MTYPE_SPINCONTROL;
	s_options_ingame_fps_box.generic.x	= 0;
	s_options_ingame_fps_box.generic.y	= y +=MENU_LINE_SIZE;
	s_options_ingame_fps_box.generic.name	= "FPS counter";
	s_options_ingame_fps_box.generic.callback = FPSFunc;
	s_options_ingame_fps_box.itemnames = yesno_names;

	// foostep override option
	s_options_ingame_footstep_box.generic.type = MTYPE_SPINCONTROL;
	s_options_ingame_footstep_box.generic.x	= 0;
	s_options_ingame_footstep_box.generic.y	= y += 2*MENU_LINE_SIZE;
	s_options_ingame_footstep_box.generic.name	= "override footstep sounds";
	s_options_ingame_footstep_box.generic.callback = FootStepFunc;
	s_options_ingame_footstep_box.generic.statusbar = "sets footstep sounds with definitions in texsurfs.txt";
	s_options_ingame_footstep_box.itemnames = yesno_names;
	
	s_options_ingame_blood_box.generic.type = MTYPE_SPINCONTROL;
	s_options_ingame_blood_box.generic.x	= 0;
	s_options_ingame_blood_box.generic.y	= y += MENU_LINE_SIZE;
	s_options_ingame_blood_box.generic.name	= "blood";
	s_options_ingame_blood_box.generic.callback = BloodFunc;
	s_options_ingame_blood_box.itemnames = blood_names;

	// Psychospaz's changeable rail trail
	s_options_ingame_railtrail_box.generic.type = MTYPE_SPINCONTROL;
	s_options_ingame_railtrail_box.generic.x	= 0;
	s_options_ingame_railtrail_box.generic.y	= y += MENU_LINE_SIZE;
	s_options_ingame_railtrail_box.generic.name	= "railtrail type";
	s_options_ingame_railtrail_box.generic.callback = RailTrailFunc;
	s_options_ingame_railtrail_box.itemnames = railtrail_names;

	s_options_ingame_railcolor_box[0].generic.type	= MTYPE_SLIDER;
	s_options_ingame_railcolor_box[0].generic.x		= 0;
	s_options_ingame_railcolor_box[0].generic.y		= y+=MENU_LINE_SIZE;
	s_options_ingame_railcolor_box[0].generic.name	= "red - railtrail";
	s_options_ingame_railcolor_box[0].generic.callback = RailColorRedFunc;
	s_options_ingame_railcolor_box[0].minvalue		= 0;
	s_options_ingame_railcolor_box[0].maxvalue		= 16;

	s_options_ingame_railcolor_box[1].generic.type	= MTYPE_SLIDER;
	s_options_ingame_railcolor_box[1].generic.x		= 0;
	s_options_ingame_railcolor_box[1].generic.y		= y+=MENU_LINE_SIZE;
	s_options_ingame_railcolor_box[1].generic.name	= "green - railtrail";
	s_options_ingame_railcolor_box[1].generic.callback = RailColorGreenFunc;
	s_options_ingame_railcolor_box[1].minvalue		= 0;
	s_options_ingame_railcolor_box[1].maxvalue		= 16;

	s_options_ingame_railcolor_box[2].generic.type	= MTYPE_SLIDER;
	s_options_ingame_railcolor_box[2].generic.x		= 0;
	s_options_ingame_railcolor_box[2].generic.y		= y+=MENU_LINE_SIZE;
	s_options_ingame_railcolor_box[2].generic.name	= "blue - railtrail";
	s_options_ingame_railcolor_box[2].generic.callback = RailColorBlueFunc;
	s_options_ingame_railcolor_box[2].minvalue		= 0;
	s_options_ingame_railcolor_box[2].maxvalue		= 16;

	s_options_ingame_defaults_action.generic.type	= MTYPE_ACTION;
	s_options_ingame_defaults_action.generic.x		= MENU_FONT_SIZE;
	s_options_ingame_defaults_action.generic.y		= y+=2*MENU_LINE_SIZE;
	s_options_ingame_defaults_action.generic.name	= "reset defaults";
	s_options_ingame_defaults_action.generic.callback = IngameResetDefaultsFunc;

	s_options_ingame_back_action.generic.type	= MTYPE_ACTION;
	s_options_ingame_back_action.generic.x		= MENU_FONT_SIZE;
	s_options_ingame_back_action.generic.y		= y+=2*MENU_LINE_SIZE;
	s_options_ingame_back_action.generic.name	= "back to options";
	s_options_ingame_back_action.generic.callback = UI_BackMenu;

	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_header );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_crosshair_box );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_crosshairscale_slider );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_hudscale_slider );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_hudalpha_slider );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_fps_box );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_footstep_box );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_blood_box );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_railtrail_box );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_railcolor_box[0] );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_railcolor_box[1] );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_railcolor_box[2] );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_defaults_action );
	Menu_AddItem( &s_options_ingame_menu, ( void * ) &s_options_ingame_back_action );

	IngameSetMenuItemValues();
}