Пример #1
0
static void draw_displayMenu(int c)
{
	int leftMargin=3;
	int tabstop1 = 17;
	int tabstop2 = 19;
	int tabstop3 = 21;
	int tabstop4 = 23;
	int tabstop5 = 25;
	int tabstop6 = 27;
	int tabstop7 = 29;
	int tabstop8 = 31;
	int tabstop9 = 33;

	int menuLine = 3;
	static int b=0;
	int bb=(b%6)/3;
	SDL_Rect r;
	extern SDL_Surface *text_screen;
	r.x=80-64; r.y=0; r.w=110+64+64; r.h=240;

	text_draw_background();
	text_draw_window(2,2,40,30,text_str_display_title);

	// 1
	if (menuDisplay == 0 && bb)
		write_text_inv(3, menuLine, "Return to main menu");
	else
		write_text(3, menuLine, "Return to main menu");

	menuLine++;
	write_text(leftMargin,menuLine,text_str_display_separator);
	menuLine++;

	// 2
	write_text(leftMargin,menuLine,"Preset Mode");
	if ((menuDisplay!=1)||(bb))
		write_text(tabstop3,menuLine,presetMode);
	else
		write_text_inv(tabstop3,menuLine,presetMode);

	menuLine++;
	write_text(leftMargin,menuLine,text_str_display_separator);
	menuLine+=2;
	write_text(leftMargin,menuLine,"Custom Settings");
	menuLine++;
	write_text(leftMargin,menuLine,"---------------");
	menuLine++;

	// 3
	write_text(leftMargin,menuLine,"Displayed Lines");
	sprintf(value, "%d", mainMenu_displayedLines);
	if ((menuDisplay!=2)||(bb))
		write_text(tabstop3,menuLine,value);
	else
		write_text_inv(tabstop3,menuLine,value);

	// 4
	menuLine+=2;
	write_text(leftMargin,menuLine,"Screen Width");
	sprintf(value, "%d", screenWidth);
	if ((menuDisplay!=3)||(bb))
		write_text(tabstop3,menuLine,value);
	else
		write_text_inv(tabstop3,menuLine,value);

	// 5
	menuLine+=2;
	write_text(leftMargin,menuLine,"Vertical Position");
	sprintf(value, "%d", moveY);
	if ((menuDisplay!=4)||(bb))
		write_text(tabstop3,menuLine,value);
	else
		write_text_inv(tabstop3,menuLine,value);

	// 6
	menuLine+=2;
	write_text(leftMargin,menuLine,"Cut Left");
	sprintf(value, "%d", mainMenu_cutLeft);
	if ((menuDisplay!=5)||(bb))
		write_text(tabstop3,menuLine,value);
	else
		write_text_inv(tabstop3,menuLine,value);

	// 7
	menuLine+=2;
	write_text(leftMargin,menuLine,"Cut Right");
	sprintf(value, "%d", mainMenu_cutRight);
	if ((menuDisplay!=6)||(bb))
		write_text(tabstop3,menuLine,value);
	else
		write_text_inv(tabstop3,menuLine,value);

	// 8
	menuLine++;
	write_text(leftMargin,menuLine,text_str_display_separator);
	menuLine++;
	write_text(leftMargin,menuLine,"Frameskip");
	if ((mainMenu_frameskip==0)&&((menuDisplay!=7)||(bb)))
		write_text_inv(tabstop1,menuLine,"0");
	else
		write_text(tabstop1,menuLine,"0");
	if ((mainMenu_frameskip==1)&&((menuDisplay!=7)||(bb)))
		write_text_inv(tabstop3,menuLine,"1");
	else
		write_text(tabstop3,menuLine,"1");

	// 9
	menuLine+=2;
	write_text(leftMargin,menuLine,"Refresh Rate");
	if ((!mainMenu_ntsc)&&((menuDisplay!=8)||(bb)))
		write_text_inv(tabstop1,menuLine,"50Hz");
	else
		write_text(tabstop1,menuLine,"50Hz");

	if ((mainMenu_ntsc)&&((menuDisplay!=8)||(bb)))
		write_text_inv(tabstop3+1,menuLine,"60Hz");
	else
		write_text(tabstop3+1,menuLine,"60Hz");

	text_flip();
	b++;
}
Пример #2
0
static inline void draw_cpuMenu(int c)
{
	text_draw_background();
	text_draw_window(40,24+32,260,200-16-64-32,text_str_title);

	if (c==0)
	{
		write_text_sel(6,8,252,text_str_68k);
		switch(menuCPU_68k)
		{
			case 0: write_text_inv(19,8,"||||||||||"); break; 
			case 1: write_text_inv(25,8,"||||||||||||"); break;
			default:
				write_text_inv(32,8,"||||||||"); break;
		}
		write_text_inv(19,8,text_str_under);
		write_text_inv(25,8,text_str_normal);
		write_text_inv(32,8,text_str_over);
	}
	else
	{
		write_text(6,8,text_str_68k);
		switch(menuCPU_68k)
		{
			case 0: write_text(19,8,"|||||||||"); break; 
			case 1: write_text(25,8,"|||||||||||"); break;
			default:
				write_text(32,8,"|||||||"); break;
		}
		write_text(19,8,text_str_under);
		write_text(25,8,text_str_normal);
		write_text(32,8,text_str_over);
	}

	if (c==1)
	{
		write_text_sel(6,10,252,text_str_z80);
		switch(menuCPU_z80)
		{
			case 0: write_text_inv(19,10,"||||||||||"); break; 
			case 1: write_text_inv(25,10,"||||||||||||"); break;
			default:
				write_text_inv(32,10,"||||||||"); break;
		}
		write_text_inv(19,10,text_str_under);
		write_text_inv(25,10,text_str_normal);
		write_text_inv(32,10,text_str_over);
	}
	else
	{
		write_text(6,10,text_str_z80);
		switch(menuCPU_z80)
		{
			case 0: write_text(19,10,"|||||||||"); break; 
			case 1: write_text(25,10,"|||||||||||"); break;
			default:
				write_text(32,10,"|||||||"); break;
		}
		write_text(19,10,text_str_under);
		write_text(25,10,text_str_normal);
		write_text(32,10,text_str_over);
	}

	if (c==2)
	{
		write_text_sel(6,12,252,text_str_accurate);
		if (neogeo_accurate)
			write_text_inv(25,12,"||||");
		else
			write_text_inv(19,12,"||||||");
		write_text_inv(19,12,text_str_off);
		write_text_inv(25,12,text_str_on);
	}
	else
	{
		write_text(6,12,text_str_accurate);
		if (neogeo_accurate)
			write_text(25,12,"||||");
		else
			write_text(19,12,"||||||");
		write_text(19,12,text_str_off);
		write_text(25,12,text_str_on);
	}

	write_text(6,13,text_str_separator);

	write_text(6,14,text_str_separator);
	if ((c==3)) //&&(bb))
		write_text_sel(6,15,252,text_str_exit);
	else
		write_text(6,15,text_str_exit);

	text_flip();
}
Пример #3
0
static void draw_mainMenu(enum MainMenuEntry c)
{
	static int frame = 0;
	int flash = frame / 3;
	int row = 4, column = 0;

	text_draw_background();
	text_draw_window(40,28,260,192,text_str_title);

	if (c == MAIN_MENU_ENTRY_LOAD && flash)
		write_text_inv(6, row++, text_str_load);
	else
		write_text(6, row++, text_str_load);

	write_text(6, row++, text_str_separator);

	if(emulating)
	{
		if (c == MAIN_MENU_ENTRY_SAVED_STATES && flash)
			write_text_inv(6, row++, text_str_save);
		else
			write_text(6, row++, text_str_save);
	}
	else
	{
		row++;
	}

	write_text(6, row, text_str_separator);
	row++;

	write_text(6, row, text_str_throttle);
	column = 17;

	if ((mainMenu_throttle == 0) && (c != MAIN_MENU_ENTRY_THROTTLE || flash))
		write_text_inv(column, row, text_str_0);
	else
		write_text(column, row, text_str_0);
	column += strlen(text_str_0) + 1;
	if ((mainMenu_throttle == 1) && (c != MAIN_MENU_ENTRY_THROTTLE || flash))
		write_text_inv(column, row, text_str_20);
	else
		write_text(column, row, text_str_20);
	column += strlen(text_str_20) + 1;
	if ((mainMenu_throttle == 2) && (c != MAIN_MENU_ENTRY_THROTTLE || flash))
		write_text_inv(column, row, text_str_40);
	else
		write_text(column, row, text_str_40);
	column += strlen(text_str_40) + 1;
	if ((mainMenu_throttle == 3) && (c != MAIN_MENU_ENTRY_THROTTLE || flash))
		write_text_inv(column, row, text_str_60);
	else
		write_text(column, row, text_str_60);
	column += strlen(text_str_60) + 1;
	if ((mainMenu_throttle == 4) && (c != MAIN_MENU_ENTRY_THROTTLE || flash))
		write_text_inv(column, row, text_str_80);
	else
		write_text(column, row, text_str_80);
	column += strlen(text_str_80) + 1;
	if ((mainMenu_throttle == 5) && (c != MAIN_MENU_ENTRY_THROTTLE || flash))
		write_text_inv(column, row, text_str_100);
	else
		write_text(column, row, text_str_100);

	row += 2;

	write_text(6, row, text_str_frameskip);
	column = 17;

	if ((mainMenu_frameskip == 0) && (c != MAIN_MENU_ENTRY_FRAMESKIP || flash))
		write_text_inv(column, row, text_str_0);
	else
		write_text(column, row, text_str_0);
	column += strlen(text_str_0) + 1;
	if ((mainMenu_frameskip == 1) && (c != MAIN_MENU_ENTRY_FRAMESKIP || flash))
		write_text_inv(column, row, text_str_1);
	else
		write_text(column, row, text_str_1);
	column += strlen(text_str_1) + 1;
	if ((mainMenu_frameskip == 2) && (c != MAIN_MENU_ENTRY_FRAMESKIP || flash))
		write_text_inv(column, row, text_str_2);
	else
		write_text(column, row, text_str_2);
	column += strlen(text_str_2) + 1;
	if ((mainMenu_frameskip == 3) && (c != MAIN_MENU_ENTRY_FRAMESKIP || flash))
		write_text_inv(column, row, text_str_3);
	else
		write_text(column, row, text_str_3);
	column += strlen(text_str_3) + 1;
	if ((mainMenu_frameskip == 4) && (c != MAIN_MENU_ENTRY_FRAMESKIP || flash))
		write_text_inv(column, row, text_str_4);
	else
		write_text(column, row, text_str_4);
	column += strlen(text_str_4) + 1;
	if ((mainMenu_frameskip == 5) && (c != MAIN_MENU_ENTRY_FRAMESKIP || flash))
		write_text_inv(column, row, text_str_5);
	else
		write_text(column, row, text_str_5);
	column += strlen(text_str_5) + 1;
	if ((mainMenu_frameskip == -1) && (c != MAIN_MENU_ENTRY_FRAMESKIP || flash))
		write_text_inv(column, row, text_str_auto);
	else
		write_text(column, row, text_str_auto);

	row += 2;

	write_text(6, row, text_str_vpos);
	column = 17;

	if ((mainMenu_vpos == 0) && (c != MAIN_MENU_ENTRY_SCREEN_POSITION || flash))
		write_text_inv(column, row, text_str_0);
	else
		write_text(column, row, text_str_0);
	column += strlen(text_str_0) + 1;
	if ((mainMenu_vpos == 1) && (c != MAIN_MENU_ENTRY_SCREEN_POSITION || flash))
		write_text_inv(column, row, text_str_8);
	else
		write_text(column, row, text_str_8);
	column += strlen(text_str_8) + 1;
	if ((mainMenu_vpos == 2) && (c != MAIN_MENU_ENTRY_SCREEN_POSITION || flash))
		write_text_inv(column, row, text_str_16);
	else
		write_text(column, row, text_str_16);
	column += strlen(text_str_16) + 1;
	if ((mainMenu_vpos == 3) && (c != MAIN_MENU_ENTRY_SCREEN_POSITION || flash))
		write_text_inv(column, row, text_str_24);
	else
		write_text(column, row, text_str_24);
	column += strlen(text_str_24) + 1;
	if ((mainMenu_vpos == 4) && (c != MAIN_MENU_ENTRY_SCREEN_POSITION || flash))
		write_text_inv(column, row, text_str_32);
	else
		write_text(column, row, text_str_32);
	column += strlen(text_str_32) + 1;
	if ((mainMenu_vpos == 5) && (c != MAIN_MENU_ENTRY_SCREEN_POSITION || flash))
		write_text_inv(column, row, text_str_40);
	else
		write_text(column, row, text_str_40);

	row += 2;

	write_text(6, row, text_str_sound);
	column = 17;

	if (!mainMenu_sound && (c != MAIN_MENU_ENTRY_SOUND || flash))
		write_text_inv(column, row, text_str_off);
	else
		write_text(column, row, text_str_off);
	column += strlen(text_str_off) + 2;
	if (mainMenu_sound && (c != MAIN_MENU_ENTRY_SOUND || flash))
		write_text_inv(column, row, text_str_on);
	else
		write_text(column, row, text_str_on);

	row += 2;

	write_text(6, row, text_str_autosave);
	column = 17;
	
	if (!mainMenu_autosave && (c != MAIN_MENU_ENTRY_SAVE_DISKS || flash))
		write_text_inv(column, row, text_str_off);
	else
		write_text(column, row, text_str_off);
	column += strlen(text_str_off) + 2;
	if (mainMenu_autosave && (c != MAIN_MENU_ENTRY_SAVE_DISKS || flash))
		write_text_inv(column, row, text_str_on);
	else
		write_text(column, row, text_str_on);

	row += 2;

	write_text(6, row, text_str_joystick);
	column = 17;

	if (!mainMenu_usejoy && (c != MAIN_MENU_ENTRY_USE_JOY || flash))
		write_text_inv(column, row, text_str_off);
	else
		write_text(column, row, text_str_off);
	column += strlen(text_str_off) + 2;
	if (mainMenu_usejoy && (c != MAIN_MENU_ENTRY_USE_JOY || flash))
		write_text_inv(column, row, text_str_on);
	else
		write_text(column, row, text_str_on);

	row++;
	write_text(6, row++, text_str_separator);

	if (c == MAIN_MENU_ENTRY_RESET_EMULATION && flash)
		if(emulating)
			write_text_inv(6, row, text_str_reset);
		else
			write_text_inv(6, row, text_str_start);
	else
		if(emulating)
			write_text(6, row, text_str_reset);
		else
			write_text(6, row, text_str_start);

	row += 2;

	if(emulating)
	{
		if (c == MAIN_MENU_ENTRY_RETURN_TO_EMULATION && flash)
			write_text_inv(6, row++, text_str_return);
		else
			write_text(6, row++, text_str_return);
	}
	else
	{
		row++;
	}

	write_text(6, row++, text_str_separator);

	if (c == MAIN_MENU_ENTRY_EXIT_UAE && flash)
		write_text_inv(6, row++, text_str_exit);
	else
		write_text(6, row++, text_str_exit);

	text_flip();
	frame = (frame + 1) % 6;
}
Пример #4
0
static void draw_dirlist(char *curdir, struct dirent **namelist, int n, int sel)
{
	int i,j;
	n--;
	static int b=0;
	int bb=(b%6)/3;
	SDL_Rect r;
	extern SDL_Surface *text_screen;
	r.x=80-64; r.y=0; r.w=150-24+64+64; r.h=240;
	text_draw_background();
	if (menu_load_type == MENU_LOAD_HD_DIR)
		text_draw_window(2,2,41,25,"  Press L-key to load HD-dir  ");
	else if (menu_load_type == MENU_LOAD_HDF)
		text_draw_window(2,2,41,25,"       Select .HDF-file       ");
	else if (current_drive==0)
		text_draw_window(2,2,41,25," Insert .ADF or .ADZ into DF0 ");
	else if (current_drive==1)
		text_draw_window(2,2,41,25," Insert .ADF or .ADZ into DF1 ");
	else if (current_drive==2)
		text_draw_window(2,2,41,25," Insert .ADF or .ADZ into DF2 ");
	else if (current_drive==3)
		text_draw_window(2,2,41,25," Insert .ADF or .ADZ into DF3 ");
	else
		text_draw_window(2,2,41,25,text_str_load_title);

	if (sel<min_in_dir)
	{
		min_in_dir=sel;
		max_in_dir=sel+SHOW_MAX_FILES;
	}
	else
		if (sel>=max_in_dir)
		{
			max_in_dir=sel+1;
			min_in_dir=max_in_dir-SHOW_MAX_FILES;
		}
	if (max_in_dir>n)
		max_in_dir=n-min_in_dir;

	for (i=min_in_dir,j=3;i<max_in_dir;i++,j+=2)
	{
		
		write_text(3,j,text_str_load_separator);
		SDL_SetClipRect(text_screen,&r);
		
	if ((sel+1==i+1)&&(bb))
			write_text_inv(4,j+1,namelist[i+1]->d_name);
		else
			write_text(4,j+1,namelist[i+1]->d_name);


		SDL_SetClipRect(text_screen,NULL);

		if (namelist[i+1]->d_type==DT_DIR)
			write_text(38,j+1,text_str_load_dir);
	}
	write_text(3,j,text_str_load_separator);

	text_flip();

	b++;
}