亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频

? 歡迎來到蟲蟲下載站! | ?? 資源下載 ?? 資源專輯 ?? 關于我們
? 蟲蟲下載站

?? .#gui.c.1.58

?? 著名ARC模擬器源碼,包括多個平臺
?? 58
?? 第 1 頁 / 共 5 頁
字號:
// Apparently it is not defined in freebsd...   // Currently only accept 320x240   if((SX!=320)||(SY!=240))      return -1;   // Set Mode X as the base mode   if(display_cfg.triple_buffer)      ret = set_gfx_mode(GFX_MODEX,SX,SY,SX,SY*3);   else      ret = set_gfx_mode(GFX_MODEX,SX,SY,SX,SY);   // Apply hacks for arcade monitor rates   if(!ret){      arcade_monitor_mode(         display_cfg.arcade_h_timing,         display_cfg.arcade_v_timing,         display_cfg.arcade_center_x,         display_cfg.arcade_center_y      );   }#endif   return ret;}#endifstatic int raine_set_gfx_mode(int SType,int SX,int SY){  int ret;#ifdef RAINE_DEBUG   print_debug("raine_gfx_mode bpp %d\n",display_cfg.bpp);#endif   set_color_depth(display_cfg.bpp);#ifndef RAINE_WIN32#ifdef RAINE_UNIX   if (!x_display) {#endif     if((SX==256)&&(SY==240)) return Stretch256x240(SType);     if((SX==320)&&(SY==256)) return Set320x256(SType);     if((SX==400)&&(SY==150)) return SetDarkForceMode(SType,SX,300,SY);     if((SX==640)&&(SY==100)) return SetDarkForceMode(SType,SX,400,SY);     if((SX==640)&&(SY==150)) return SetDarkForceMode(SType,SX,400,SY);     if((SX==640)&&(SY==200)) return SetDarkForceMode(SType,SX,400,SY);     if((SX==640)&&(SY==120)) return SetDarkForceMode(SType,SX,480,SY);     if((SX==640)&&(SY==160)) return SetDarkForceMode(SType,SX,480,SY);     if((SX==640)&&(SY==240)) return SetDarkForceMode(SType,SX,480,SY);     if((SX==800)&&(SY==150)) return SetDarkForceMode(SType,SX,600,SY);     if((SX==800)&&(SY==200)) return SetDarkForceMode(SType,SX,600,SY);     if((SX==800)&&(SY==300)) return SetDarkForceMode(SType,SX,600,SY);     if((SX==1024)&&(SY==192)) return SetDarkForceMode(SType,SX,768,SY);     if((SX==1024)&&(SY==256)) return SetDarkForceMode(SType,SX,768,SY);     if((SX==1024)&&(SY==384)) return SetDarkForceMode(SType,SX,768,SY);     #ifdef GFX_DRIVER_MODEX     if(SType==GFX_ARCMON) return set_arcade_mode(SType,SX,SY);#endif     #ifdef RAINE_UNIX   }#endif#endif   if(display_cfg.triple_buffer)      ret= set_gfx_mode(SType,SX,SY,SX,SY*3);   else      ret= set_gfx_mode(SType,SX,SY,SX,SY);#ifdef RAINE_DEBUG   print_debug("raine_gfx_mode result %d\n",ret);#endif   return ret;}  static int new_set_gfx_mode(int SType,int SX,int SY,int SLines){	int ta,tb,bpp;	screen_valid=0;		if(SLines==0){				// Set a Normal Mode		ta=raine_set_gfx_mode(SType,SX,SY);		if(!ta){			screen->w=SX;			screen->h=SY;			screen->cr=screen->w;			screen->cb=screen->h;			gfx_driver->w=screen->w;			gfx_driver->h=screen->h;			centre_all_dialogs();		}		bpp = desktop_color_depth();		return ta;	}	else	{#ifdef RAINE_UNIX		// Disable scanlines in xwindows (windowed mode)		// They are useless in this mode, and they don't work...		if (display_cfg.screen_type != GFX_XWINDOWS#ifdef GFX_XWINDOWS_FULLSCREEN		    && display_cfg.screen_type != GFX_XWINDOWS_FULLSCREEN#endif		    )#endif		{  // Set a Mode with Scanlines Hack			ta=raine_set_gfx_mode(SType,SX,SY<<1);			if(!ta){				screen->w=SX;				screen->h=SY;				screen->cr=screen->w;				screen->cb=screen->h;				gfx_driver->w=screen->w;				gfx_driver->h=screen->h;				if(display_cfg.triple_buffer){					for(tb=0;tb<SY*3;tb++){						screen->line[tb]=screen->line[tb+tb];					}				}				else{					for(tb=0;tb<SY;tb++){						screen->line[tb]=screen->line[tb+tb];					}				}				centre_all_dialogs();			}			return ta;		}	}	return -1; // Error : can't set mode}// for any mapped bitmap including mouse and logos in the dialogs...BITMAP *make_mapped_bitmap(BITMAP *src, int *start, PALETTE *src_pal, UINT32 cols){   BITMAP *dest;   UINT8 *line,*line_2;   int ta,x,y;   dest = create_bitmap_ex(8, src->w, src->h);   ta = allocate_pens(cols);   if(ta>0){     for(y = 0; y < src->h; y++){       line   = src->line[y];       line_2 = dest->line[y];       for(x = 0; x < src->w; x++){	   if(line[x])	     line_2[x] = line[x] + ta;	   else	     line_2[x] = GUI_BOX_COL_MIDDLE;       }     }     memcpy(&gui_pal[ta], src_pal, cols*4);     set_palette_range(gui_pal, ta, ta+cols-1, 0);   }   else{     ta = 0;   }   *start = ta;   return dest;}BITMAP *make_mapped_bitmap_2(BITMAP *src, int *start, PALETTE *src_pal, UINT32 cols){   BITMAP *dest;   UINT8 *line,*line_2;   int ta,x,y;   dest = create_bitmap_ex(8, src->w, src->h);	   ta = allocate_pens(cols);        if(ta>0){	       for(y=0;y<src->h;y++){       line   = src->line[y];       line_2 = dest->line[y];       for(x=0;x<src->w;x++){	 if(line[x]==0)	   line_2[x] = 0;	 else	   line_2[x] = line[x]+ta;       }     }     memcpy(&gui_pal[ta], src_pal, cols*4);     set_palette_range(gui_pal, ta, ta+cols-1, 0);          }   else{     ta = 0;   }         *start = ta;   return dest;   // Without breaking the palette in 16bpp. But I don't need this now !}void destroy_mapped_bitmap(BITMAP *dest, UINT32 cols){   free_pens(cols);   destroy_bitmap(dest);}void ScreenChange(void){    show_mouse(NULL);   if(display_cfg.scanlines==2)      display_cfg.screen_y >>= 1;   if(new_set_gfx_mode(display_cfg.screen_type,display_cfg.screen_x,display_cfg.screen_y,display_cfg.scanlines)){	// Didn't work:      memcpy(&display_cfg, &prev_display_cfg, sizeof(DISPLAY_CFG));      new_set_gfx_mode(display_cfg.screen_type,display_cfg.screen_x,display_cfg.screen_y,display_cfg.scanlines);	// Revert to old mode   }   else{     ReClipScreen();      if (prev_display_cfg.bpp != display_cfg.bpp) {	if (current_colour_mapper){	  set_colour_mapper(current_colour_mapper);	  ResetPalette();	}      }   }   set_palette_range(gui_pal,0,255,0);   sprintf(screenname, raine_translate_text("%s %dx%d %dbpp; %s"), raine_translate_text("Screen:"), display_cfg.screen_x, display_cfg.screen_y, display_cfg.bpp, gfx_card_name(display_cfg.screen_type));     show_mouse(screen);}// screen_select_proc():// Display then process Screen Select dialogint screen_select_proc(int msg, DIALOG *d, int c){   int ret = x_raine_button_proc(msg, d, c);   if(ret==D_CLOSE){      Unselect_Button(d);      FadeGUI();      memcpy(&prev_display_cfg, &display_cfg, sizeof(DISPLAY_CFG));      ret = raine_gfx_mode_select();      if(ret){         WantScreen=1;         return D_EXIT;      }      else{         memcpy(&display_cfg, &prev_display_cfg, sizeof(DISPLAY_CFG));         return D_REDRAW;      }   }   return ret;}// Data for game list and available/missing games static int *GameAvail = NULL;static UINT32 GameAvailCount = 0;static int *GameMissing = NULL;static UINT32 GameMissingCount = 0;static int gtype = 0,gcompany=0; // Default valuesstatic int my_game_count;static struct GAME_MAIN **my_game_list;static char *game_type[] ={ "All",  "Breakout",  "Shoot'em up",  "Beat'em up",  "Puzzle",  "Platform",  "Misc",  "Sport",  "Adult",  "Race",  "Quizz",};static int nb_game_type;static UINT8 ssound, syear, sstatus;void build_game_avail_list(); // further...static void update_game_list();int res_radio_proc(int msg, DIALOG *d, int c){  wants_switch_res = game_select[GAME_SWITCH_RES+1].flags&D_SELECTED;  return x_raine_radio_proc(msg, d, c);}int sound_radio_proc(int msg, DIALOG *d, int c){	int i;	int ret=x_raine_radio_proc(msg, d, c);		if((msg==MSG_KEY)||(msg==MSG_CLICK)){				// Get selected List Mode		// ----------------------		// I hate these constants, but see no easy way to do it better for now				if((game_select_opts[2].flags)&D_SELECTED) i = 0;		else if((game_select_opts[3].flags)&D_SELECTED) i = 1;		else if((game_select_opts[4].flags)&D_SELECTED) i = 2;		else i = 0;				if (i != ssound) {			ssound = i;			update_game_list();		}	}	return ret;}int status_radio_proc(int msg, DIALOG *d, int c){	int i;	int ret=x_raine_radio_proc(msg, d, c);		if((msg==MSG_KEY)||(msg==MSG_CLICK)){				if((game_select_opts[6].flags)&D_SELECTED) i = 0;		else if((game_select_opts[7].flags)&D_SELECTED) i = 1;		else if((game_select_opts[8].flags)&D_SELECTED) i = 2;		else i = 0;				if (i != sstatus) {			sstatus = i;			update_game_list();		}	}   return ret;}int year_radio_proc(int msg, DIALOG *d, int c){	int i;	int ret=x_raine_radio_proc(msg, d, c);		if((msg==MSG_KEY)||(msg==MSG_CLICK)){				if((game_select_opts[10].flags)&D_SELECTED) i = 0;		else if((game_select_opts[11].flags)&D_SELECTED) i = 1;		else if((game_select_opts[12].flags)&D_SELECTED) i = 2;		else i = 0;				if (i != syear) {			syear = i;			update_game_list();		}	}	return ret;}static void build_game_list(){  int n;  struct GAME_MAIN *game;  nb_game_type = sizeof(game_type)/sizeof(char*);    if (my_game_list) free(my_game_list);  my_game_count = 0;  my_game_list = malloc(game_count * sizeof(GAME_MAIN*));  for (n=0; n<game_count; n++) {    game = game_list[n];    if (#ifndef PRIVATE	(!(game->flags & GAME_PRIVATE)) &&#endif		(((!sstatus) && !(game->flags & (GAME_NOT_WORKING | GAME_PARTIALLY_WORKING))) ||	(sstatus==1 && (game->flags & GAME_PARTIALLY_WORKING)) ||	(sstatus==2 && (game->flags & GAME_NOT_WORKING)))) {      if (!ssound || (ssound==1 && game->sound_list) || // sound	  (ssound==2 && !game->sound_list)) { // no sound	if (!syear || (syear==1 && (game->year >= 1990)) ||	    (syear==2 && (game->year < 1990))) {       	  if (!gtype || (game->flags & (1<<(gtype-1)))) {	    if (!gcompany || game->company_id==gcompany)	      my_game_list[my_game_count++] = game_list[n];	  }	}      }    }  }}void build_game_avail_list(); // further...void set_game_list_mode(int i);static void update_game_list(){  build_game_avail_list();  set_game_list_mode(rgui_cfg.game_list_mode);}char *game_type_getter(int index, int *list_size){  if (index == -1){ // Nb of indexes    *list_size = nb_game_type;  } else if (index == -4) { // clic !    gtype = *list_size;    update_game_list();  } else if (index >= 0 && index < nb_game_type) {    return game_type[index];  }  return NULL;}char *game_company_getter(int index, int *list_size){  if (index == -1){ // Nb of indexes    *list_size = nb_companies;  } else if (index == -4) { // clic !    gcompany = *list_size;    update_game_list();  } else if (index > 0 && index < nb_companies) {    return game_company_name(index);  } else if (index == 0)    return "Any";  return NULL;}// build_game_avail_list():// Updates available and missing game lists, called// before doing game select dialog.void set_game_list_mode(int i){   int ta, tb;   switch(rgui_cfg.game_list_mode){      case 0x00:         tb = game_select[GAME_LIST].d1;      break;      case 0x01:         tb = GameAvail[game_select[GAME_LIST].d1];      break;      case 0x02:         tb = GameMissing[game_select[GAME_LIST].d1];      break;      // When none of the options above match (which should be never)	  // Default to option 0;	  default:         tb = game_select[GAME_LIST].d1;      break;   }   rgui_cfg.game_list_mode = i;   switch(rgui_cfg.game_list_mode){      case 0x00:	if (my_game_count<10)	  sprintf(game_select[9].dp,"%d/%d Games Listed      ", my_game_count, my_game_count);	else 	  sprintf(game_select[9].dp,"%d/%d Games Listed     ", my_game_count, my_game_count);         game_select[GAME_LIST].d1 = tb;      break;      case 0x01:	if (my_game_count<10)	  sprintf(game_select[9].dp,"%d/%d Games Listed      ", GameAvailCount, my_game_count);	else	  sprintf(game_select[9].dp,"%d/%d Games Listed     ", GameAvailCount, my_game_count);         game_select[GAME_LIST].d1 = 0;         for(ta = 0; (UINT32)ta < GameAvailCount; ta++)            if(GameAvail[ta] == tb)               game_select[GAME_LIST].d1 = ta;      break;      case 0x02:	if (my_game_count<10)	  sprintf(game_select[9].dp,"%d/%d Games Listed      ", GameMissingCount, my_game_count);	else	  sprintf(game_select[9].dp,"%d/%d Games Listed     ", GameMissingCount, my_game_count);	  	game_select[GAME_LIST].d1 = 0;	for(ta = 0; (UINT32)ta < GameMissingCount; ta++)            if(GameMissing[ta] == tb)               game_select[GAME_LIST].d1 = ta;      break;   }}int game_exists(int num){   DIR_INFO *dir_list;   UINT8 str[256];   UINT32 ta;   dir_list = my_game_list[num]->dir_list;   while( (dir_list->maindir) ){      if((dir_list->maindir[0] != '#')&&(dir_list->maindir[0] != '$')){         for(ta = 0; ta < 4; ta ++){            if(dir_cfg.rom_dir[ta][0]){               sprintf(str,"%s%s.zip", dir_cfg.rom_dir[ta], dir_list->maindir);               if((file_exists(str,255,NULL))) return 1;               sprintf(str,"%s%s", dir_cfg.rom_dir[ta], dir_list->maindir);               if((file_exists(str,255,NULL))) return 1;            }         }      }      dir_list++;   }   return 0;}

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
色就色 综合激情| 久久精品欧美一区二区三区不卡| 亚洲欧美日韩精品久久久久| 欧美在线你懂得| 成人av在线电影| 蜜桃久久久久久久| 一区二区三区91| 无码av免费一区二区三区试看| 亚洲美女免费在线| 亚洲精品视频一区| 一区二区日韩av| 亚洲美女屁股眼交| 国产一区二区在线电影| 九九精品视频在线看| 国产成人亚洲综合a∨婷婷图片| 精品三级在线观看| 国产毛片精品视频| 2欧美一区二区三区在线观看视频 337p粉嫩大胆噜噜噜噜噜91av | 91麻豆精品国产91久久久资源速度 | 韩国精品一区二区| 国产女同互慰高潮91漫画| 国内精品国产成人国产三级粉色| 久久久久久久网| 91丨国产丨九色丨pron| 国产欧美日产一区| 色哟哟一区二区在线观看| 亚洲第一久久影院| 精品国产伦一区二区三区免费| 国产高清成人在线| 亚洲精品视频自拍| 欧美精品一二三四| 日本aⅴ免费视频一区二区三区 | 欧美bbbbb| 欧美日韩国产首页| 一区二区三区欧美在线观看| 久久精品72免费观看| av一二三不卡影片| 欧美性大战久久久久久久 | 蜜桃视频第一区免费观看| 国产精品一区二区x88av| 亚洲成年人影院| 精品国产乱码久久久久久浪潮| 91在线云播放| 激情久久久久久久久久久久久久久久| 国产精品成人免费在线| 日韩欧美激情一区| 欧美三级三级三级爽爽爽| 国产伦理精品不卡| 日韩电影在线免费观看| 亚洲日本欧美天堂| 国产欧美精品在线观看| 5858s免费视频成人| 99视频精品在线| 欧美大片国产精品| 99精品视频一区| 国产成人免费视频一区| 天堂蜜桃一区二区三区| 国产精品视频麻豆| 福利电影一区二区| 一区二区三区在线观看欧美| 91麻豆精品91久久久久同性| 久久99精品网久久| 国产日韩精品一区二区浪潮av | 日本伊人色综合网| 精品国产不卡一区二区三区| 成人avav影音| 性欧美大战久久久久久久久| 国产欧美视频在线观看| 91免费看视频| 国产成人亚洲综合a∨婷婷| 又紧又大又爽精品一区二区| 欧美人体做爰大胆视频| 欧美午夜精品一区二区蜜桃| 韩国成人精品a∨在线观看| 日韩精品一级二级 | 国产精品视频九色porn| av成人免费在线观看| 成人午夜精品在线| 日韩精品影音先锋| 国内成人免费视频| 日韩毛片视频在线看| 亚洲免费色视频| 亚洲最大成人综合| 亚洲成人激情综合网| av不卡一区二区三区| 久久久久国产精品麻豆ai换脸 | 天天亚洲美女在线视频| 亚洲成人av一区二区| 午夜激情综合网| 日本欧美久久久久免费播放网| 日韩av中文字幕一区二区三区| 日韩黄色小视频| 精品一区二区三区影院在线午夜| 激情综合五月天| 国产成人精品一区二区三区网站观看 | 日韩免费视频一区| 久久看人人爽人人| 亚洲天堂免费看| 日韩国产欧美一区二区三区| 激情国产一区二区| 93久久精品日日躁夜夜躁欧美| 欧美日韩一区 二区 三区 久久精品| 欧美日韩的一区二区| 精品国产乱码久久久久久牛牛| 日本一区二区免费在线| 亚洲免费色视频| 这里只有精品视频在线观看| 国产一区二区三区美女| 成人免费黄色大片| 欧美四级电影网| 精品国产免费视频| 亚洲精品视频在线看| 日韩中文字幕亚洲一区二区va在线| 国产在线精品一区二区三区不卡| 成人教育av在线| 一区二区三区精品| 国产精品你懂的在线欣赏| 国产精品欧美久久久久无广告 | 日韩一区二区免费高清| 国产精品欧美一区二区三区| 日韩一区欧美二区| 波多野结衣在线aⅴ中文字幕不卡| 欧美日韩视频在线一区二区| 久久久久久久久97黄色工厂| 午夜精品影院在线观看| 国产成人av福利| 精品视频1区2区3区| 欧美日韩一区二区三区在线看 | 久久精品免视看| 亚洲综合激情小说| 国产精品资源在线| 欧美日韩亚洲综合一区| 国产精品久久久久一区二区三区共| 亚洲动漫第一页| 成人av午夜电影| 日韩美女在线视频| 亚洲国产aⅴ天堂久久| 波波电影院一区二区三区| 91麻豆精品国产自产在线| 亚洲精品午夜久久久| 国产精品一区一区三区| 欧美日韩国产一二三| 一区二区三区免费在线观看| 高清国产一区二区| 欧美精品一区二区久久久| 亚洲国产精品一区二区www| 99久久国产综合精品女不卡| 精品对白一区国产伦| 日日夜夜精品视频免费| 色综合欧美在线视频区| 亚洲欧洲美洲综合色网| 国产成人在线电影| 2023国产精品视频| 久久福利资源站| 日韩三级高清在线| 日韩成人免费电影| 欧美老人xxxx18| 天堂一区二区在线| 欧美片网站yy| 亚洲成人动漫av| 欧美日韩精品高清| 亚洲福利一二三区| 欧美电影一区二区| 五月天激情小说综合| 欧美精品久久天天躁| 天天操天天色综合| 欧美老肥妇做.爰bbww| 午夜精品久久久久久久久久 | 日韩一区二区在线看片| 日韩精品欧美精品| 日韩精品一区国产麻豆| 久久91精品国产91久久小草| 欧美电视剧免费观看| 国产一区二区0| 中文乱码免费一区二区| 97se狠狠狠综合亚洲狠狠| 亚洲精品国产一区二区精华液 | 国产综合成人久久大片91| 精品国内片67194| 国产精品影视天天线| 久久精品视频一区二区三区| 成a人片亚洲日本久久| 亚洲三级久久久| 欧美日韩不卡一区二区| 蜜臀精品久久久久久蜜臀| 26uuu精品一区二区在线观看| 国产精品69毛片高清亚洲| 中文字幕一区二| 91成人网在线| 日韩电影在线观看一区| 精品国产sm最大网站| proumb性欧美在线观看| 亚洲午夜电影网| 欧美va亚洲va国产综合| 成人做爰69片免费看网站| 亚洲最快最全在线视频| 亚洲精品在线免费观看视频| 成人小视频在线| 日日骚欧美日韩| 日本一区二区在线不卡|