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++; }
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(); }
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; }
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++; }