void video_confirm_cancel_clicked(component *c, void *userdata) { video_menu_confirm_data *local = userdata; settings_video *v = &settings_get()->video; *v = *local->old_video_settings; video_reinit(v->screen_w, v->screen_h, v->fullscreen, v->vsync, v->scaler, v->scale_factor); // Finish the menu menu *m = sizer_get_obj(c->parent); m->finished = 1; }
static void changed_videomode(void *u,int s) { //windowed modes if(s <= 3) { config.windowed = 1; config.windowscale = s + 1; } else { config.windowed = 0; config.fullscreen = s - 4; } video_reinit(); }
LRESULT CALLBACK PaletteProc(HWND hDlg, UINT message, WPARAM wParam, LPARAM lParam) { LPNMHDR nmhdr; static char tmpstr[1024]; char *ptr; int i; int reinitvideo = 0; switch(message) { case WM_INITDIALOG: CheckDlgButton(hDlg,IDC_FRAMELIMITCHECK,config_get_bool("video.framelimit") ? BST_CHECKED : BST_UNCHECKED); //video filters ptr = config_get_string("video.filter"); for(i=0;filters[i];i++) { ComboBox_AddString(GetDlgItem(hDlg,IDC_FILTERCOMBO),filters[i]); if(stricmp(filters[i],ptr) == 0) ComboBox_SetCurSel(GetDlgItem(hDlg,IDC_FILTERCOMBO),i); } //scale for(i=0;scales[i];i++) { ComboBox_AddString(GetDlgItem(hDlg,IDC_SCALECOMBO),scales[i]); if((i + 1) == config_get_int("video.scale")) ComboBox_SetCurSel(GetDlgItem(hDlg,IDC_SCALECOMBO),i); } //port1 input devices ptr = config_get_string("input.port0"); for(i=0;inputdevices[i];i++) { ComboBox_AddString(GetDlgItem(hDlg,IDC_PORT1COMBO),inputdevices[i]); if(stricmp(inputdevices[i],ptr) == 0) ComboBox_SetCurSel(GetDlgItem(hDlg,IDC_PORT1COMBO),i); } //port2 input devices ptr = config_get_string("input.port1"); for(i=0;inputdevices[i];i++) { ComboBox_AddString(GetDlgItem(hDlg,IDC_PORT2COMBO),inputdevices[i]); if(stricmp(inputdevices[i],ptr) == 0) ComboBox_SetCurSel(GetDlgItem(hDlg,IDC_PORT2COMBO),i); } //expansion port devices ptr = config_get_string("input.expansion"); for(i=0;inputexpansion[i];i++) { ComboBox_AddString(GetDlgItem(hDlg,IDC_EXPANSIONCOMBO),inputexpansion[i]); if(stricmp(inputexpansion[i],ptr) == 0) ComboBox_SetCurSel(GetDlgItem(hDlg,IDC_EXPANSIONCOMBO),i); } return(TRUE); case WM_NOTIFY: nmhdr = (LPNMHDR)lParam; switch(nmhdr->code) { case PSN_APPLY: config_set_bool("video.framelimit",IsDlgButtonChecked(hDlg,IDC_FRAMELIMITCHECK) ? 1 : 0); ptr = mem_strdup(config_get_string("video.filter")); GetDlgItemText_SetConfig(hDlg,IDC_FILTERCOMBO,"video.filter"); if(stricmp(ptr,config_get_string("video.filter")) != 0) { reinitvideo = 1; } mem_free(ptr); i = ComboBox_GetCurSel(GetDlgItem(hDlg,IDC_SCALECOMBO)); if(i != CB_ERR) { if(config_get_int("video.scale") != (i + 1)) { config_set_int("video.scale",i + 1); reinitvideo = 1; } } if(reinitvideo) { video_reinit(); } GetDlgItemText_SetConfig(hDlg,IDC_PORT1COMBO,"input.port0"); GetDlgItemText_SetConfig(hDlg,IDC_PORT2COMBO,"input.port1"); nes_set_inputdev(0,get_device_id(config_get_string("input.port0"))); nes_set_inputdev(1,get_device_id(config_get_string("input.port1"))); return(TRUE); } break; } return(FALSE); }