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

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

?? gui.c

?? 十七種模擬器源代碼 非常有用的作課程設計不可缺少的
?? C
?? 第 1 頁 / 共 5 頁
字號:
// Get joy ID for joy numberint joystick_id(int index){   int tb;   tb = (sizeof(joystick_data) / sizeof(GUI_JOY));   if((index>=0)&&(index<tb)){      return joystick_data[index].id;   }   return joystick_data[1].id;		// None}void DoJoyEdit(void){   int ta,tb;   char *msg;   ta = joystick_id(joy_select[1].d1);   remove_joystick();   JoystickType = JOY_TYPE_NONE;   switch(ta){   case JOY_TYPE_NONE:      JoystickType=JOY_TYPE_NONE;      return;   break;   default:		// Allegro     show_mouse(NULL);   if(install_joystick(ta)){       show_mouse(screen);      raine_alert(raine_translate_text("Control Error"),raine_translate_text("Unable to initialise Joystick"),allegro_error,NULL,raine_translate_text("&Okay"),NULL,'O',0);      JoystickType=JOY_TYPE_NONE;      return;   }   if(!(num_joysticks)){       show_mouse(screen);      raine_alert(raine_translate_text("Control Error"),raine_translate_text("No Joysticks of type"),joy_name(ta),raine_translate_text("could be detected"),raine_translate_text("&Okay"),NULL,'O',0);      JoystickType=JOY_TYPE_NONE;      return;   }   for(tb=0; tb<num_joysticks; tb++){   while(joy[tb].flags & JOYFLAG_CALIBRATE){      msg=((char*)calibrate_joystick_name(tb));	show_mouse(screen);      raine_alert(raine_translate_text("Control Setup"),raine_translate_text("Joystick Calibration:"),msg,raine_translate_text("and press space..."),raine_translate_text("Space"),NULL,' ',0);	show_mouse(NULL);      if(calibrate_joystick(tb)){         show_mouse(screen);         raine_alert(raine_translate_text("Control Error"),NULL,raine_translate_text("Joystick Calibration error"),NULL,raine_translate_text("&Okay"),NULL,'O',0);         JoystickType=JOY_TYPE_NONE;         return;      }   }   }     show_mouse(screen);   JoystickType=ta;   return;   break;   }}int joy_edit_proc(int msg, DIALOG *d, int c){   int ret = x_raine_button_proc(msg, d, c);   if(ret==D_CLOSE){      Unselect_Button(d);      FadeGUI();      DoJoyEdit();      ret = D_REDRAW;   }   return ret;}int joy_calib_proc(int msg, DIALOG *d, int c){   int ret = x_raine_button_proc(msg,d,c);   if(ret==D_CLOSE){      Unselect_Button(d);      FadeGUI();      ret=0;      while((ret!=2)&&(ret!=-1)){         joy_select[1].d1 = joystick_number(JoystickType);         ret=raine_do_dialog(joy_select,-1);         if((ret!=2)&&(ret!=-1)){            FadeGUI();            DoJoyEdit();         }      }      ret = D_REDRAW;   }   return ret;}int game_reset_proc(int msg, DIALOG *d, int c){   int ret = x_raine_button_proc(msg, d, c);   if(ret==D_CLOSE){      Unselect_Button(d);      FadeGUI();      reset_game_hardware();      ret = D_REDRAW;   }   return ret;}void DoLangEdit(void){   int ta;   ta=language_dialog[1].d1;   if(ta<LanguageSw.Count){      SetLanguageSwitch(ta);      sprintf(langname,"%s",LanguageSw.Mode[ta]);   }}// language_getter():// Get mode names for langauge/version select listchar *language_getter(int index, int *list_size){   switch(index){   case -1:      *list_size=LanguageSw.Count;      return NULL;   break;   case -2:			// Act upon List Object Selection      DoLangEdit();      *list_size=D_REDRAW;      return NULL;   break;   case -3:			// Act Keyboard Input      return NULL;   break;   default:      if((index >= 0)&&(index<LanguageSw.Count))         return LanguageSw.Mode[index];      else         return NULL;   break;   }}int language_proc(int msg, DIALOG *d, int c){   int ret=x_raine_button_proc(msg,d,c);   if(ret==D_CLOSE){      Unselect_Button(d);      FadeGUI();      ret=GetLanguageSwitch();      if(LanguageSw.Count){         sprintf(langname,"%s",LanguageSw.Mode[ret]);         language_dialog[1].d1=ret;      }      else{         sprintf(langname,raine_translate_text("<No language switches>"));      }      ret=0;      while((ret!=2)&&(ret!=-1)){         ret = raine_do_dialog(language_dialog,-1);         if((ret!=2)&&(ret!=-1)){            DoLangEdit();         }      }      return D_REDRAW;   }   return ret;}int language_sel_proc(int msg, DIALOG *d, int c){   int ret=x_raine_button_proc(msg,d,c);   if(ret==D_CLOSE){      DoLangEdit();      return D_REDRAW;   }   return ret;}// game_setup_proc():// Does game setup options dialogint game_setup_proc(int msg, DIALOG *d, int c){   int ret=x_raine_button_proc(msg,d,c);   if(ret==D_CLOSE){      Unselect_Button(d);      FadeGUI();      ret=0;      while((ret!=2)&&(ret!=-1)){         ret = raine_do_dialog(game_setup_dialog,-1);      }      return D_REDRAW;   }   return ret;}// control_setup_proc():// Does game setup options dialogint control_setup_proc(int msg, DIALOG *d, int c){   int ret=x_raine_button_proc(msg,d,c);   if(ret==D_CLOSE){      Unselect_Button(d);      FadeGUI();      ret=0;      while((ret!=2)&&(ret!=-1)){         ret=raine_do_dialog(control_setup_dialog,-1);      }      return D_REDRAW;   }   return ret;}// raine_quit_proc():// Process a click on 'quit raine' buttonint raine_quit_proc(int msg, DIALOG *d, int c){   int ret=x_raine_button_proc(msg, d, c);   if(ret==D_CLOSE){      Unselect_Button(d);      FadeGUI();      if((raine_alert(raine_translate_text("Warning"),NULL,raine_translate_text("Quit Raine?"),NULL,raine_translate_text("&Yes"),raine_translate_text("&No"),'Y','N'))!=1){         return D_REDRAW;      }      else{         WantQuit=1;         return D_EXIT;      }   }   return ret;}// game_play_proc():// Process a click on 'play game' buttonint game_play_proc(int msg, DIALOG *d, int c){   int ret = x_raine_button_proc(msg, d, c);   if(ret==D_CLOSE){      Unselect_Button(d);      FadeGUI();      if(!current_game){         raine_alert(raine_translate_text("Error"),raine_translate_text("No Game Loaded"),raine_translate_text("Click on Change Game"),raine_translate_text("to Select a Game."),raine_translate_text("&Okay"),NULL,'O',0);         ret = D_REDRAW;      }      else{         WantPlay = 1;         ret = D_EXIT;      }   }   return ret;}// real primitive pen allocationstatic int used_pens;int allocate_pens(int pens){   int ret;   if((used_pens+pens)<=256){      ret = used_pens;      used_pens += pens;   }   else{      ret = -1;   }   return ret;}void free_pens(int pens){   if((used_pens-pens)>=0){      used_pens -= pens;   }}void free_all_pens(void){   used_pens = 0;}// MakeGUIBack():// Make a faded copy of the game screen to go behind the gui.void MakeGUIBack(void){   BITMAP *gui_backdrop = NULL;   static BITMAP *backdrop = NULL;   static PALETTE backdrop_pal;   PALETTE new_pal;   UINT8 *BIT;   UINT8 mapcol[256];   int ccnt,ta,tb,tc,td,te,tcr,tcg,tcb;      if(screen_valid){          if (display_cfg.bpp == 8) {       gui_backdrop = create_bitmap_ex(display_cfg.bpp, display_cfg.screen_x, display_cfg.screen_y);              free_all_pens();              memset(new_pal,0x00, 256*4);       memset(mapcol, 0xFF, 256);              ccnt=1;	// Black=Colour0       blit(screen,gui_backdrop,0,0,0,0,display_cfg.screen_x, display_cfg.screen_y);       for(tb=0;tb<display_cfg.screen_y;tb++){	 BIT=gui_backdrop->line[tb];	 for(ta=0;ta<display_cfg.screen_x;ta++){	   tc=BIT[ta];	   if((te=mapcol[tc])==255){	     tcr=pal[tc].r;	     tcg=pal[tc].g;	     tcb=pal[tc].b;	     tcr = (tcr * 64) / 96;	     if(tcr<0) tcr=0;	     if(tcr>63) tcr=63;	     tcg = (tcg * 64) / 80;	     if(tcg<0) tcg=0;	     if(tcg>63) tcg=63;	     tcb = (tcb * 64) / 64;	     if(tcb<0) tcb=0;	     if(tcb>63) tcb=63;	     te=255;	     for(td=0;td<ccnt;td++){	       if((tcr==new_pal[td].r)&&(tcg==new_pal[td].g)&&(tcb==new_pal[td].b)){		 te=td;		 td=ccnt;		 mapcol[tc]=te;	       }	     }	     if(te==255){	       if(ccnt<216){		 new_pal[ccnt].r=tcr;		 new_pal[ccnt].g=tcg;		 new_pal[ccnt].b=tcb;		 te=ccnt;		 ccnt++;	       }	       else{			// No room! Find a close match... (allegro: slow)		 te=bestfit_color(new_pal,tcr,tcg,tcb);	       }	     }	   }	   BIT[ta]=te;	 }       }       memcpy(&gui_pal, &new_pal, ccnt*4);       allocate_pens(ccnt);     }        }   else{     // The backdrop image has historically always been 8bpp...     // For now it's better to keep it this way...     gui_backdrop = create_bitmap_ex(8, display_cfg.screen_x, display_cfg.screen_y);     free_all_pens();     memset(new_pal,0x00, 256*4);     memset(mapcol, 0xFF, 256);     ccnt=1;	// Black=Colour0     if(!backdrop){       if(rgui_cfg.bg_image[0])	 backdrop = load_pcx(rgui_cfg.bg_image, backdrop_pal);       if(!backdrop){	 	 backdrop = RaineData[Backdrop].dat;	 memcpy(&backdrop_pal, RaineData[Backdrop_pal].dat, 256*4);       }            }     clear_to_color(gui_backdrop,getpixel(backdrop,0,0));     blit(backdrop,gui_backdrop,0,0,(display_cfg.screen_x - backdrop->w)/2,(display_cfg.screen_y - backdrop->h)/2,backdrop->w,backdrop->h);     for(tb=0;tb<display_cfg.screen_y;tb++){      BIT=gui_backdrop->line[tb];      for(ta=0;ta<display_cfg.screen_x;ta++){      tc=BIT[ta];      if((te=mapcol[tc])==255){         tcr=backdrop_pal[tc].r;         tcg=backdrop_pal[tc].g;         tcb=backdrop_pal[tc].b;         te=255;         for(td=0;td<ccnt;td++){            if((tcr==new_pal[td].r)&&(tcg==new_pal[td].g)&&(tcb==new_pal[td].b)){               te=td;               td=ccnt;               mapcol[tc]=te;            }         }         if(te==255){            if(ccnt<216){               new_pal[ccnt].r=tcr;               new_pal[ccnt].g=tcg;               new_pal[ccnt].b=tcb;               te=ccnt;               ccnt++;            }            else{			// No room! Find a close match... (allegro: slow)               te=bestfit_color(new_pal,tcr,tcg,tcb);            }         }      }      BIT[ta]=te;      }      }      memcpy(&gui_pal, &new_pal, ccnt*4);      allocate_pens(ccnt);   }   set_palette_range(gui_pal,0,255,1);   if (gui_backdrop) {     blit(gui_backdrop,screen,0,0,0,0,display_cfg.screen_x,display_cfg.screen_y);     destroy_bitmap(gui_backdrop);     gui_backdrop = NULL;   }   if(raine_cfg.hide)   {      clear(screen);   }}#include "shiftjis.c"// StartGUI():// Actually does the gui/game loop, called from raine.c// Caters for command line load and no gui optionsint StartGUI(void){   char str[256];   #ifdef RAINE_DEBUG   print_debug("StartGUI(): START\n");#endif      SpriteGun1        = RaineData[Gun1].dat;   SpriteGun2        = RaineData[Gun2].dat;   sprintf(str, "%sconfig/language/%s", dir_cfg.exe_path, dir_cfg.language_file);   raine_push_config_state();   raine_set_config_file(str);   if(new_set_gfx_mode(display_cfg.screen_type,display_cfg.screen_x,display_cfg.screen_y,display_cfg.scanlines)!=0){     if(new_set_gfx_mode(GFX_AUTODETECT,320,240,0)){        printf("%s\n",raine_translate_text("Unable to detect any screenmode."));#ifdef RAINE_UNIX	 printf("%s\n",raine_translate_text("On the console, you need to be root to use svgalib (or modex) !"));#else												 	 printf("%s\n",raine_translate_text("Get Display Doctor from www.scitechsoft.com to fix this."));#endif				          printf("%s\n\n",raine_translate_text("Mail about this problem is not appreciated!"));         exit(1);      }      else{         display_cfg.screen_type= GFX_AUTODETECT;         display_cfg.screen_x   = 320;         display_cfg.screen_y   = 240;         display_cfg.scanlines  = 0;      }   }   sprintf(gamename, "%s %s", raine_translate_text("Game:"), raine_translate_text("<No Game Loaded>"));   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));   set_sound_variables(0);   memset(&gui_pal, 0x00, 256*4);   WantScreen=0;   WantQuit=0;   WantPlay=0;#ifdef RAINE_DEBUG   print_debug("StartGUI(): prepare international\n");#endif   register_uformat(U_SJIS, sjis_getc, sjis_getx, sjis_setc, sjis_width, sjis_cwidth, sjis_isok, 2);   set_uformat(U_SJIS);   while(!WantQuit){		// ----- Main Loop ------     set_gui_palette();     gui_fg_color = CGUI_COL_TEXT_1;     gui_bg_color = CGUI_BOX_COL_MIDDLE;     /* Be carefull here. Windows seems to have very unstable threads. You */  

?? 快捷鍵說明

復制代碼 Ctrl + C
搜索代碼 Ctrl + F
全屏模式 F11
切換主題 Ctrl + Shift + D
顯示快捷鍵 ?
增大字號 Ctrl + =
減小字號 Ctrl + -
亚洲欧美第一页_禁久久精品乱码_粉嫩av一区二区三区免费野_久草精品视频
日韩欧美成人一区二区| 爽好多水快深点欧美视频| 亚洲丝袜另类动漫二区| 午夜精品在线看| 国产精品一区二区无线| 欧美亚洲一区二区在线观看| 亚洲精品在线观看网站| 亚洲免费观看高清完整版在线观看熊| 蜜臀久久99精品久久久画质超高清| 97se亚洲国产综合自在线不卡| 这里只有精品免费| 一区二区三区影院| 国产精品亚洲成人| 日韩欧美一级精品久久| 亚洲一区免费视频| www.在线欧美| 国产精品久久免费看| 国产麻豆视频一区二区| 日韩欧美一区二区不卡| 亚洲成av人片在线| 在线观看免费一区| 亚洲天堂福利av| 成人h动漫精品一区二区| 欧美精品一区二区三区一线天视频 | 久久久久九九视频| 婷婷久久综合九色国产成人| 99久久99久久精品免费看蜜桃| 久久久久久一二三区| 国产在线精品一区二区夜色| 91精品蜜臀在线一区尤物| 樱桃视频在线观看一区| 日本精品一区二区三区高清 | 大胆欧美人体老妇| 国产女主播视频一区二区| 国产剧情一区在线| 26uuu亚洲综合色| 国内国产精品久久| 精品成人一区二区| 国产成人精品午夜视频免费| 久久久久青草大香线综合精品| 国产一区二区三区四区五区入口 | 在线精品视频一区二区| 一区二区三区高清在线| 91黄视频在线| 亚洲第一久久影院| 91精品视频网| 毛片不卡一区二区| 国产欧美视频一区二区| 99久久久久免费精品国产| 亚洲色图一区二区三区| 一本大道久久a久久精品综合| 亚洲影院久久精品| 91麻豆精品91久久久久久清纯 | 韩国女主播成人在线观看| 精品国产不卡一区二区三区| 国产麻豆视频一区| 最新久久zyz资源站| 在线观看区一区二| 日本女人一区二区三区| 久久久精品日韩欧美| 91色婷婷久久久久合中文| 亚洲va欧美va人人爽| 久久亚洲综合av| 一本色道久久综合亚洲aⅴ蜜桃 | 亚洲欧美日韩国产综合在线| 欧美性感一类影片在线播放| 美女脱光内衣内裤视频久久网站 | 国产成人免费视频精品含羞草妖精| 国产精品久久久久桃色tv| 欧洲一区在线观看| 久久99日本精品| 国产精品高潮呻吟| 51精品国自产在线| 成人一区二区三区中文字幕| 亚洲国产日韩a在线播放| 欧美精品一区二区三区在线| 色婷婷久久久综合中文字幕| 免费在线观看一区二区三区| 国产精品水嫩水嫩| 欧美精品乱码久久久久久| 国产精品66部| 亚洲 欧美综合在线网络| 中国色在线观看另类| 3d成人动漫网站| 99久久国产综合精品色伊| 麻豆一区二区三区| 一区二区三区四区乱视频| 日韩精品一区二区三区蜜臀| 欧洲av一区二区嗯嗯嗯啊| 国产凹凸在线观看一区二区| 午夜欧美电影在线观看| 亚洲三级电影网站| 国产亚洲一区二区三区四区| 欧美日韩亚洲高清一区二区| 成人av集中营| 国产在线视频不卡二| 五月婷婷欧美视频| 亚洲麻豆国产自偷在线| 国产日韩欧美一区二区三区乱码 | 国产午夜亚洲精品理论片色戒 | 欧美色倩网站大全免费| av不卡在线观看| 国产乱理伦片在线观看夜一区| 亚洲福利一二三区| 一区二区久久久久久| 国产精品久久福利| 国产婷婷一区二区| 久久综合久久99| 日韩三级.com| 91精品国产乱码| 7777精品伊人久久久大香线蕉超级流畅| 99视频在线精品| 国产+成+人+亚洲欧洲自线| 激情五月播播久久久精品| 日韩国产精品91| 午夜久久久久久电影| 亚洲成人免费在线| 亚洲成人高清在线| 天涯成人国产亚洲精品一区av| 亚洲黄色尤物视频| 亚洲一区二区综合| 亚洲大型综合色站| 蜜臀av一区二区三区| 麻豆国产精品视频| 精品一二三四区| 成人综合婷婷国产精品久久| 国v精品久久久网| www.欧美日韩国产在线| 一本色道久久综合亚洲aⅴ蜜桃| 一本色道久久综合精品竹菊| 91在线观看一区二区| 在线这里只有精品| 91精品国产综合久久久蜜臀图片| 欧美日韩国产片| 日韩精品专区在线影院观看| 亚洲精品在线观| 国产精品欧美一级免费| 亚洲一区二区三区中文字幕| 亚洲午夜久久久久久久久电影网| 丝袜美腿成人在线| 韩国一区二区三区| 99免费精品视频| 欧美日韩一区二区三区视频 | 亚洲第一电影网| 免费观看在线综合| 国产激情视频一区二区在线观看| 99久久99久久久精品齐齐| 欧美美女视频在线观看| 欧美大度的电影原声| 中文字幕日韩欧美一区二区三区| 亚洲最大的成人av| 国产一本一道久久香蕉| 91视频91自| 欧美va亚洲va香蕉在线| 亚洲天堂福利av| 美女一区二区三区在线观看| 成人免费视频caoporn| 精品视频1区2区| 欧美激情综合五月色丁香小说| 亚洲一区成人在线| 国产精品888| 欧美人伦禁忌dvd放荡欲情| 久久精子c满五个校花| 亚洲一区在线视频| 成人免费视频网站在线观看| 欧美久久久一区| 欧美极品美女视频| 久久国产视频网| 日本精品视频一区二区| 久久夜色精品国产噜噜av | 裸体健美xxxx欧美裸体表演| a在线欧美一区| 26uuu欧美| 日日欢夜夜爽一区| 色综合一个色综合| 国产欧美日韩精品一区| 久久机这里只有精品| 欧美日韩精品一区二区天天拍小说 | 亚洲欧洲精品一区二区三区| 蜜臀av在线播放一区二区三区| 91视视频在线观看入口直接观看www | 香蕉成人伊视频在线观看| 成人不卡免费av| 2023国产精品视频| 日本视频一区二区三区| 欧美性受极品xxxx喷水| 国产精品毛片大码女人| 国产在线一区二区| 日韩一级精品视频在线观看| 亚洲大片在线观看| 欧美在线观看禁18| **欧美大码日韩| 成人性生交大片| 国产亚洲精品aa午夜观看| 久久精品久久99精品久久| 在线电影欧美成精品| 日韩av在线免费观看不卡| 欧美在线free| 亚洲地区一二三色| 欧美日本视频在线|