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

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

?? .#gui.c.1.58

?? 十七種模擬器源代碼 非常有用的作課程設計不可缺少的
?? 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不卡在线观看| 国产精品美女久久久久aⅴ国产馆 国产精品美女久久久久av爽李琼 国产精品美女久久久久高潮 | 国产精品久久久久久亚洲毛片 | 亚洲va欧美va人人爽| 成人黄色国产精品网站大全在线免费观看 | 精品毛片乱码1区2区3区| 中文字幕在线免费不卡| 久久精品理论片| 欧美日韩国产综合一区二区| 国产精品久久久久久妇女6080| 蜜臀av国产精品久久久久| 91黄视频在线| 亚洲色图19p| 国产aⅴ精品一区二区三区色成熟| 在线播放欧美女士性生活| 日韩电影免费一区| 色哟哟欧美精品| 亚洲欧洲99久久| 成人精品gif动图一区| 精品日韩99亚洲| 蜜桃久久久久久| 717成人午夜免费福利电影| 亚洲免费在线看| 国产不卡视频在线观看| 国产日韩高清在线| 国产成人精品三级| 欧美激情一区二区三区四区| 国产乱妇无码大片在线观看| 精品国产区一区| 国产美女主播视频一区| 久久免费的精品国产v∧| 国内精品久久久久影院色| 久久亚洲二区三区| 国产精品99久久久久久久vr| 国产视频一区二区在线观看| 国产99久久久国产精品潘金 | 中文字幕不卡的av| 成人avav影音| 一区二区三区免费网站| 欧美无人高清视频在线观看| 亚洲大片免费看| 日韩欧美中文字幕制服| 国产一区999| 国产精品久久久久久久蜜臀| 色婷婷精品久久二区二区蜜臀av| 亚洲一区二区在线免费看| 欧美日韩国产综合视频在线观看| 麻豆久久久久久| 国产日产精品1区| 日本高清视频一区二区| 婷婷国产v国产偷v亚洲高清| 精品国产百合女同互慰| 成人动漫一区二区在线| 日韩毛片在线免费观看| 欧美久久久久久久久久| 久久草av在线| 中文字幕在线免费不卡| 欧美高清视频不卡网| 国产成人在线视频网址| 一区二区三区久久| 精品国产免费一区二区三区香蕉| 国产成人av电影在线观看| 一区二区久久久久久| 日韩精品一区二| 色综合中文字幕国产 | 国产亚洲一区二区三区在线观看 | 99久久er热在这里只有精品15| 亚洲精品国产品国语在线app| 日韩欧美在线观看一区二区三区| 福利电影一区二区三区| 亚洲一区二区三区四区在线观看| 久久久蜜臀国产一区二区| 欧美性videosxxxxx| 国产精品综合二区| 亚洲男同1069视频| 国产三级三级三级精品8ⅰ区| 欧美日韩精品福利| www.一区二区| 久久99精品国产麻豆婷婷| 亚洲综合无码一区二区| 国产欧美日韩在线视频| 欧美一区二区在线视频| 91社区在线播放| 国产精品99久久久久久宅男| 一区二区三区在线观看动漫 | 精品国产sm最大网站| 欧美影院一区二区三区| 成人视屏免费看| 麻豆精品一区二区av白丝在线| 一卡二卡三卡日韩欧美| 国产精品美女久久福利网站| 精品国产乱码久久久久久老虎| 欧美亚洲图片小说| 日韩精品影音先锋| 欧美电影在哪看比较好| 色欧美88888久久久久久影院| 国产二区国产一区在线观看| 麻豆极品一区二区三区| 日韩激情中文字幕| 一区二区高清视频在线观看| 国产精品久久久久久亚洲伦| 久久久久久99久久久精品网站| 日韩精品一区二区三区在线播放 | 国产精品电影一区二区三区| 久久亚洲一区二区三区四区| 精品久久久久久久人人人人传媒| 欧美午夜寂寞影院| 欧美在线色视频| 欧美色精品天天在线观看视频| 一本一道综合狠狠老| 色婷婷激情久久| 欧美网站大全在线观看| 欧美精品一二三四| 9191久久久久久久久久久| 欧美久久婷婷综合色| 欧美一区二区三区四区视频| 日韩一区二区视频| 精品国产凹凸成av人导航| 久久久精品2019中文字幕之3| 久久精品一区二区| 国产精品乱码人人做人人爱| 综合色天天鬼久久鬼色| 一区二区在线观看视频 | 国模一区二区三区白浆| 国产麻豆成人传媒免费观看| 成人国产一区二区三区精品| 99精品久久只有精品| 欧美性猛交xxxxxx富婆| 在线综合亚洲欧美在线视频 | 555www色欧美视频| 精品国产成人系列| 国产精品动漫网站| 亚洲成人午夜电影| 国产专区综合网| 97精品国产露脸对白| 欧美三级蜜桃2在线观看| 91麻豆精品国产91久久久更新时间| 日韩视频一区二区在线观看| 久久久亚洲精华液精华液精华液| 国产精品电影一区二区三区| 亚洲国产综合视频在线观看| 久久99最新地址| av毛片久久久久**hd| 欧美日韩精品免费观看视频 | 成人av集中营| 欧美人与性动xxxx| 久久久久一区二区三区四区| 亚洲欧美另类久久久精品2019| 日本三级韩国三级欧美三级| 国产成人精品一区二| 欧美久久久久久久久久| 国产喂奶挤奶一区二区三区| 午夜一区二区三区在线观看| 麻豆专区一区二区三区四区五区| 99久久国产综合精品女不卡| 日韩三级在线免费观看| 亚洲资源中文字幕| 国产成人亚洲综合a∨婷婷图片| 欧美中文字幕久久| 国产精品欧美极品| 久久精品99国产精品日本| 在线欧美一区二区| 欧美国产精品v| 美国十次了思思久久精品导航| 97久久超碰国产精品电影| 久久综合av免费| 首页综合国产亚洲丝袜| 99久久99久久综合| 国产三级欧美三级日产三级99| 丝袜美腿亚洲一区二区图片| av不卡免费电影| 国产女人18毛片水真多成人如厕 | 亚洲国产精品久久不卡毛片| 成人晚上爱看视频| 久久精品视频一区| 美女一区二区在线观看| 欧美三级日韩在线| 又紧又大又爽精品一区二区| 国产成a人亚洲| 国产亚洲一区二区三区四区| 美腿丝袜一区二区三区| 欧美日韩极品在线观看一区| 亚洲欧美视频一区| 国产 欧美在线| 久久精品夜色噜噜亚洲a∨| 麻豆精品一区二区av白丝在线| 欧美日韩国产综合一区二区| 一区二区三区在线观看国产 | 日韩欧美一卡二卡| 奇米色777欧美一区二区| 欧美日韩亚洲丝袜制服| 亚洲一区二区偷拍精品| 在线视频你懂得一区二区三区| 国产精品区一区二区三| 成人av第一页| 亚洲欧美日韩精品久久久久| 99亚偷拍自图区亚洲| 亚洲日本欧美天堂| 色综合久久88色综合天天免费| 一区精品在线播放|