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

? 歡迎來(lái)到蟲(chóng)蟲(chóng)下載站! | ?? 資源下載 ?? 資源專輯 ?? 關(guān)于我們
? 蟲(chóng)蟲(chóng)下載站

?? gui.c

?? 著名ARC模擬器源碼,包括多個(gè)平臺(tái)
?? C
?? 第 1 頁(yè) / 共 5 頁(yè)
字號(hào):
#ifdef GFX_MODEX// Actually GFX_MODEX is defined in dos and in linux.// 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++;   }

?? 快捷鍵說(shuō)明

復(fù)制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號(hào) Ctrl + =
減小字號(hào) Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
精品国产sm最大网站| 91精品国模一区二区三区| 视频在线观看一区| 亚洲bdsm女犯bdsm网站| 日日骚欧美日韩| 久久国产精品色婷婷| 国产精品香蕉一区二区三区| 成人一区二区三区| 色哟哟在线观看一区二区三区| 高清成人在线观看| 色天使久久综合网天天| 91精品欧美一区二区三区综合在| 日韩一区二区免费在线观看| 日韩一级完整毛片| 国产婷婷精品av在线| 亚洲免费观看高清完整版在线观看熊| 亚洲一区二区三区视频在线播放| 亚洲成人中文在线| 日本怡春院一区二区| 国产呦萝稀缺另类资源| eeuss鲁片一区二区三区| 欧美在线视频不卡| 精品国产髙清在线看国产毛片 | 中文字幕国产一区二区| 亚洲欧美日韩久久| 视频一区二区三区入口| 国产麻豆视频精品| 欧美亚洲一区二区三区四区| 欧美成人一区二区| 亚洲欧美日韩国产一区二区三区| 日韩精品视频网| 成人福利视频在线| 欧美日韩电影一区| 国产人成亚洲第一网站在线播放 | 国产在线不卡一卡二卡三卡四卡| 99国产精品久久久久久久久久久| 欧美精品欧美精品系列| 国产日产精品1区| 亚洲五码中文字幕| 毛片av一区二区三区| 成人国产精品免费网站| 欧美精品xxxxbbbb| 国产精品素人一区二区| 午夜精品免费在线| 成人av电影免费观看| 欧美日韩高清不卡| 国产精品久久久久精k8| 免费成人美女在线观看| 色哟哟国产精品免费观看| 亚洲精品一区二区三区在线观看| 亚洲人亚洲人成电影网站色| 久久成人免费网| 欧美日韩免费一区二区三区视频| 久久免费视频一区| 青青草成人在线观看| 成人国产精品免费观看视频| 欧美成人aa大片| 亚洲一区二区三区小说| 成人美女在线视频| 久久久另类综合| 麻豆成人久久精品二区三区小说| 色av成人天堂桃色av| 国产精品免费观看视频| 国内精品自线一区二区三区视频| 欧美亚洲综合另类| 亚洲日本在线视频观看| 风间由美一区二区av101 | 天堂av在线一区| 色综合咪咪久久| 国产精品色哟哟| 精品亚洲porn| 欧美一区二区三区白人| 亚洲一区在线观看视频| 色婷婷综合久久久| 国产精品久久久一区麻豆最新章节| 精品一区二区三区免费观看| 日本韩国欧美三级| 亚洲日本在线看| 国产精品系列在线播放| 欧美xxxxx牲另类人与| 三级一区在线视频先锋| 91麻豆精品视频| 欧美激情一区二区三区| 国产一区二区久久| 欧美日韩免费不卡视频一区二区三区| 国产日韩欧美激情| 国产精品综合一区二区三区| 精品少妇一区二区三区在线播放 | 久久精品国产一区二区三区免费看| 色欧美片视频在线观看| 亚洲欧美日韩一区| 91久久精品午夜一区二区| 亚洲女同一区二区| 一本一本大道香蕉久在线精品 | 国产精品久久久久7777按摩| 国产69精品久久99不卡| 欧美国产精品一区| 成人h精品动漫一区二区三区| 国产视频一区二区三区在线观看| 国产一区二区三区免费播放| 久久久91精品国产一区二区精品 | 久久毛片高清国产| 国产激情视频一区二区在线观看| 久久久精品日韩欧美| 国产盗摄女厕一区二区三区| 中文字幕巨乱亚洲| 97精品视频在线观看自产线路二| 亚洲欧美视频在线观看视频| 在线中文字幕一区二区| 亚洲成人一区二区在线观看| 6080午夜不卡| 韩国v欧美v日本v亚洲v| 国产欧美一区二区三区在线看蜜臀 | 国产真实乱偷精品视频免| 国产日韩欧美一区二区三区综合| 精品一区二区三区的国产在线播放| 精品国产成人在线影院 | 欧美一区二区在线免费播放 | 欧美三级中文字幕| 蜜臀久久99精品久久久久久9| 欧美本精品男人aⅴ天堂| 丁香婷婷综合网| 亚洲欧美日韩一区| 99久久精品费精品国产一区二区| 亚洲色大成网站www久久九九| 91国产视频在线观看| 日本中文字幕不卡| 中文字幕第一区综合| 色婷婷综合久久久中文字幕| 青青草国产成人av片免费| 国产日产欧产精品推荐色| 色吧成人激情小说| 精品一区二区三区影院在线午夜 | 亚洲国产精品成人综合色在线婷婷| 国产91丝袜在线18| 亚洲午夜一区二区| 精品久久久三级丝袜| 99久久精品免费看国产免费软件| 亚洲国产成人tv| 久久新电视剧免费观看| 一本色道久久综合亚洲aⅴ蜜桃| 亚洲国产日韩av| 久久亚洲精精品中文字幕早川悠里| 一本一道久久a久久精品综合蜜臀| 全部av―极品视觉盛宴亚洲| 国产精品热久久久久夜色精品三区| 欧美日韩视频第一区| 国产盗摄一区二区| 五月激情综合网| 欧美国产精品中文字幕| 欧美视频在线播放| 国产精品69久久久久水密桃 | 暴力调教一区二区三区| 五月激情六月综合| 国产精品乱人伦一区二区| 欧美一级在线观看| 色综合咪咪久久| 国产精品18久久久久久久网站| 亚洲精选视频在线| 91麻豆精品91久久久久久清纯 | 99久久久精品| 毛片av中文字幕一区二区| 亚洲精品日韩专区silk| 久久久天堂av| 欧美一区二区在线不卡| 色婷婷狠狠综合| 精品一区二区三区免费视频| 亚洲成人免费视频| 自拍偷在线精品自拍偷无码专区 | 亚洲男帅同性gay1069| 欧美大尺度电影在线| 欧美三级资源在线| 91啪亚洲精品| 国产精品18久久久| 奇米色777欧美一区二区| 亚洲一区免费观看| 中文字幕亚洲不卡| 国产欧美日产一区| 26uuu亚洲综合色| 欧美二区三区91| 欧美少妇性性性| 一本到不卡精品视频在线观看| 成人高清伦理免费影院在线观看| 国产综合色在线| 麻豆成人久久精品二区三区红 | 成人黄色在线视频| 久久成人羞羞网站| 极品销魂美女一区二区三区| 裸体在线国模精品偷拍| 久久疯狂做爰流白浆xx| 国产传媒欧美日韩成人| www.欧美亚洲| 色综合 综合色| 欧美日韩dvd在线观看| 日韩一区二区影院| 久久免费视频色| 亚洲欧洲日本在线| 亚洲一区二区视频在线| 石原莉奈在线亚洲二区| 国产一区二区在线视频|