bool MainWnd::fileOpenSelect() { theApp.dir = ""; CString initialDir = regQueryStringValue("romdir","."); if(!initialDir.IsEmpty()) theApp.dir = initialDir; int selectedFilter = regQueryDwordValue("selectedFilter", 0); if(selectedFilter < 0 || selectedFilter > 2) selectedFilter = 0; theApp.szFile = ""; LPCTSTR exts[] = { "" }; CString filter = winLoadFilter(IDS_FILTER_ROM); CString title = winResLoadString(IDS_SELECT_ROM); FileDlg dlg(this, "", filter, selectedFilter, "", exts, theApp.dir, title, false); if(dlg.DoModal() == IDOK) { regSetDwordValue("selectedFilter", dlg.m_ofn.nFilterIndex); theApp.szFile = dlg.GetPathName(); theApp.dir = theApp.szFile.Left(dlg.m_ofn.nFileOffset); if(theApp.dir.GetLength() > 3 && theApp.dir[theApp.dir.GetLength()-1] == '\\') theApp.dir = theApp.dir.Left(theApp.dir.GetLength()-1); regSetStringValue("romdir", theApp.dir); return true; } return false; }
BOOL GBOamView::OnInitDialog() { CDialog::OnInitDialog(); DIALOG_SIZER_START( sz ) DIALOG_SIZER_ENTRY( IDC_OAM_VIEW, DS_SizeX | DS_SizeY ) DIALOG_SIZER_ENTRY( IDC_OAM_VIEW_ZOOM, DS_MoveX) DIALOG_SIZER_ENTRY( IDC_REFRESH, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_SAVE, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_CLOSE, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_COLOR, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_R, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_G, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_B, DS_MoveY) DIALOG_SIZER_END() SetData(sz, TRUE, HKEY_CURRENT_USER, _T("Software\\Emulators\\VisualBoyAdvance\\Viewer\\GBOamView"), NULL); m_sprite.SetWindowText(_T("0")); updateScrollInfo(); m_stretch = regQueryDwordValue(_T("GBOamViewStretch"), 0); if(m_stretch) oamView.setStretch(true); UpdateData(FALSE); paint(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
BOOL GBMapView::OnInitDialog() { CDialog::OnInitDialog(); DIALOG_SIZER_START( sz ) DIALOG_SIZER_ENTRY( IDC_MAP_VIEW, DS_SizeX | DS_SizeY ) DIALOG_SIZER_ENTRY( IDC_REFRESH, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_CLOSE, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_SAVE, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_COLOR, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_R, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_G, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_B, DS_MoveY) DIALOG_SIZER_END() SetData(sz, TRUE, HKEY_CURRENT_USER, "Software\\Emulators\\VisualBoyAdvance\\Viewer\\GBMapView", NULL); int s = regQueryDwordValue("mapViewStretch", 0); if(s) mapView.setStretch(true); ((CButton *)GetDlgItem(IDC_STRETCH))->SetCheck(s); UINT id = IDC_BANK_0; if(bank == 1) id = IDC_BANK_1; CheckRadioButton(IDC_BANK_0, IDC_BANK_1, id); id = IDC_BG0; if(bg == 1) id = IDC_BG1; CheckRadioButton(IDC_BG0, IDC_BG1, id); paint(); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
BOOL GBTileView::OnInitDialog() { CDialog::OnInitDialog(); DIALOG_SIZER_START( sz ) DIALOG_SIZER_ENTRY( IDC_TILE_VIEW, DS_SizeX | DS_SizeY ) DIALOG_SIZER_ENTRY( IDC_COLOR, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_R, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_G, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_B, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_REFRESH, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_CLOSE, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_SAVE, DS_MoveY) DIALOG_SIZER_END() SetData(sz, TRUE, HKEY_CURRENT_USER, "Software\\Emulators\\VisualBoyAdvance\\Viewer\\GBTileView", NULL); m_charBase = charBase; m_bank = bank; m_slider.SetRange(0, 7); m_slider.SetPageSize(2); m_slider.SetTicFreq(1); paint(); m_stretch = regQueryDwordValue("tileViewStretch", 0); if(m_stretch) tileView.setStretch(true); UpdateData(FALSE); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
BOOL GBTileViewer::OnInitDialog(LPARAM) { DIALOG_SIZER_START( sz ) DIALOG_SIZER_ENTRY( IDC_TILE_VIEW, DS_SizeX | DS_SizeY ) DIALOG_SIZER_ENTRY( IDC_COLOR, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_R, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_G, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_B, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_REFRESH, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_CLOSE, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_SAVE, DS_MoveY) DIALOG_SIZER_END() SetData(sz, TRUE, HKEY_CURRENT_USER, "Software\\Emulators\\VisualBoyAdvance\\Viewer\\GBTileView", NULL); tileView.Attach(GetDlgItem(IDC_TILE_VIEW)); zoom.Attach(GetDlgItem(IDC_MAP_VIEW_ZOOM)); color.Attach(GetDlgItem(IDC_COLOR)); DoRadio(false, IDC_CHARBASE_0, charBase); DoRadio(false, IDC_BANK_0, bank); HWND h = GetDlgItem(IDC_PALETTE_SLIDER); SendMessage(h, TBM_SETRANGE, FALSE, MAKELONG(0, 7)); SendMessage(h, TBM_SETPAGESIZE, 0, 2); SendMessage(h, TBM_SETTICFREQ, 1, 0); paint(); int s = regQueryDwordValue("tileViewStretch", 0); if(s) tileView.setStretch(true); DoCheckbox(false, IDC_STRETCH, s); return TRUE; }
BOOL MemoryViewerDlg::OnInitDialog() { CDialog::OnInitDialog(); DIALOG_SIZER_START( sz ) DIALOG_SIZER_ENTRY( IDC_VIEWER, DS_SizeX | DS_SizeY ) DIALOG_SIZER_ENTRY( IDC_REFRESH, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_CLOSE, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_LOAD, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_SAVE, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_AUTO_UPDATE, DS_MoveY) DIALOG_SIZER_ENTRY( IDC_CURRENT_ADDRESS_LABEL, DS_MoveY | DS_MoveX) DIALOG_SIZER_ENTRY( IDC_CURRENT_ADDRESS, DS_MoveY | DS_MoveX) DIALOG_SIZER_END() SetData(sz, TRUE, HKEY_CURRENT_USER, "Software\\Emulators\\VisualBoyAdvance\\Viewer\\MemoryView", NULL); m_viewer.setDialog(this); m_viewer.ShowScrollBar(SB_VERT, TRUE); m_viewer.EnableScrollBar(SB_VERT, ESB_ENABLE_BOTH); LPCTSTR s[] = { "0x00000000 - BIOS", "0x02000000 - WRAM", "0x03000000 - IRAM", "0x04000000 - I/O", "0x05000000 - PALETTE", "0x06000000 - VRAM", "0x07000000 - OAM", "0x08000000 - ROM" }; for(int i = 0; i < 8; i++) m_addresses.AddString(s[i]); m_addresses.SetCurSel(0); RECT cbSize; int Height; m_addresses.GetClientRect(&cbSize); Height = m_addresses.GetItemHeight(-1); Height += m_addresses.GetItemHeight(0) * (9); // Note: The use of SM_CYEDGE assumes that we're using Windows '95 // Now add on the height of the border of the edit box Height += GetSystemMetrics(SM_CYEDGE) * 2; // top & bottom edges // The height of the border of the drop-down box Height += GetSystemMetrics(SM_CYEDGE) * 2; // top & bottom edges // now set the size of the window m_addresses.SetWindowPos(NULL, 0, 0, cbSize.right, Height, SWP_NOMOVE | SWP_NOZORDER); m_address.LimitText(8); m_size = regQueryDwordValue("memViewerDataSize", 0); if(m_size < 0 || m_size > 2) m_size = 0; m_viewer.setSize(m_size); UpdateData(FALSE); m_current.SetFont(CFont::FromHandle((HFONT)GetStockObject(SYSTEM_FIXED_FONT))); return TRUE; // return TRUE unless you set the focus to a control // EXCEPTION: OCX Property Pages should return FALSE }
void VBA::loadSettings() { CString buffer; lastFullscreen = (VIDEO_SIZE)regQueryDwordValue("lastFullscreen", VIDEO_1024x768); languageOption = regQueryDwordValue("language", 1); if(languageOption < 0 || languageOption > 2) languageOption = 1; buffer = regQueryStringValue("languageName", ""); if(!buffer.IsEmpty()) { languageName = buffer.Left(3); } else languageName = ""; winSetLanguageOption(languageOption, true); syncToVideo = regQueryDwordValue("syncToVideo", false) ? true : false ; syncToAudio = regQueryDwordValue("syncToAudio", 1) ? true : false; fullScreenStretch = regQueryDwordValue("stretch", 0) ? true : false; videoOption = regQueryDwordValue("video", VIDEO_3X); if(videoOption < VIDEO_1X || videoOption > VIDEO_OTHER) videoOption = VIDEO_3X; fsAdapter = regQueryDwordValue("fsAdapter", 0); fsWidth = regQueryDwordValue("fsWidth", 800); fsHeight = regQueryDwordValue("fsHeight", 600); fsColorDepth = regQueryDwordValue("fsColorDepth", 32); fsFrequency = regQueryDwordValue("fsFrequency", 60); if(videoOption == VIDEO_OTHER) { if(fsWidth < 0 || fsWidth > 4095 || fsHeight < 0 || fsHeight > 4095) videoOption = 0; if(fsColorDepth != 16 && fsColorDepth != 24 && fsColorDepth != 32) videoOption = 0; } windowPositionX = regQueryDwordValue("windowX", 0); if(windowPositionX < 0) windowPositionX = 0; windowPositionY = regQueryDwordValue("windowY", 0); if(windowPositionY < 0) windowPositionY = 0; useBiosFileGBA = ( regQueryDwordValue("useBiosGBA", 0) == 1 ) ? true : false; skipBiosFile = regQueryDwordValue("skipBios", 0) ? true : false; buffer = regQueryStringValue("biosFileGBA", ""); if(!buffer.IsEmpty()) { biosFileNameGBA = buffer; } int res = regQueryDwordValue("soundEnable", 0x30f); soundSetEnable(res); long soundQuality = regQueryDwordValue("soundQuality", 1); soundSetSampleRate(44100 / soundQuality); soundSetVolume( (float)(regQueryDwordValue("soundVolume", 100)) / 100.0f ); soundInterpolation = 1 == regQueryDwordValue( "gbaSoundInterpolation", 1 ); soundFiltering = (float)regQueryDwordValue( "gbaSoundFiltering", 50 ) / 100.0f; gpuBilinear = ( 1 == regQueryDwordValue("gpuBilinear", 0) ) ? true : false ; gpuMotionBlur = ( 1 == regQueryDwordValue("gpuMotionBlur", 0) ) ? true : false; disableStatusMessage = regQueryDwordValue("disableStatus", 0) ? true : false; showSpeed = regQueryDwordValue("showSpeed", 0); if(showSpeed < 0 || showSpeed > 2) showSpeed = 0; showSpeedTransparent = regQueryDwordValue("showSpeedTransparent", TRUE) ? TRUE : FALSE; pauseWhenInactive = regQueryDwordValue("pauseWhenInactive", 1) ? true : false; recentFreeze = regQueryDwordValue("recentFreeze", false) ? true : false; switch(videoOption) { case VIDEO_320x240: fsWidth = 320; fsHeight = 240; fsColorDepth = 16; fsFrequency = 60; break; case VIDEO_640x480: fsWidth = 640; fsHeight = 480; fsColorDepth = 16; fsFrequency = 60; break; case VIDEO_800x600: fsWidth = 800; fsHeight = 600; fsColorDepth = 16; fsFrequency = 60; break; case VIDEO_1024x768: fsWidth = 1024; fsHeight = 768; fsColorDepth = 16; fsFrequency = 60; break; case VIDEO_1280x1024: fsWidth = 1280; fsHeight = 1024; fsColorDepth = 16; fsFrequency = 60; break; } for(int i = 0; i < 10; i++) { buffer.Format("recent%d", i); char *s = regQueryStringValue(buffer, NULL); if(s == NULL) break; recentFiles[i] = s; } joypadDefault = regQueryDwordValue("joypadDefault", 0); if(joypadDefault < 0 || joypadDefault > 3) joypadDefault = 0; autoLoadMostRecent = ( 1 == regQueryDwordValue("autoLoadMostRecent", 0) ) ? true : false; maxScale = regQueryDwordValue("maxScale", 0); xa2Device = regQueryDwordValue( "xa2Device", 0 ); xa2BufferCount = regQueryDwordValue( "xa2BufferCount", 4 ); xa2Upmixing = ( 1 == regQueryDwordValue( "xa2Upmixing", 0 ) ); }
bool MainWnd::fileOpenSelect( int system ) { theApp.dir = _T(""); CString initialDir; int selectedFilter = 0; LPCTSTR exts[] = { _T(""), _T(""), _T(""), _T("") }; CString filter; CString title; switch( system ) { case 0: // GBA initialDir = regQueryStringValue( _T("romdir"), _T(".") ); selectedFilter = regQueryDwordValue( _T("selectedFilter"), 0); if( (selectedFilter < 0) || (selectedFilter > 2) ) { selectedFilter = 0; } filter = winLoadFilter( IDS_FILTER_GBAROM ); break; case 1: // GBC initialDir = regQueryStringValue( _T("gbcromdir"), _T(".") ); // TODO: memorize selected filter for GBC as well filter = winLoadFilter( IDS_FILTER_GBCROM ); break; case 2: // GB initialDir = regQueryStringValue( _T("gbromdir"), _T(".") ); // TODO: memorize selected filter for GB as well filter = winLoadFilter( IDS_FILTER_GBROM ); break; } title = winResLoadString( IDS_SELECT_ROM ); if( !initialDir.IsEmpty() ) { theApp.dir = initialDir; } if( initialDir[0] == '.' ) { // handle as relative path char baseDir[MAX_PATH+1]; GetModuleFileName( NULL, baseDir, MAX_PATH ); baseDir[MAX_PATH] = '\0'; // for security reasons PathRemoveFileSpec( baseDir ); // removes the trailing file name and backslash strcat( baseDir, "\\" ); strcat( baseDir, initialDir ); initialDir = baseDir; } theApp.szFile = _T(""); FileDlg dlg( this, _T(""), filter, selectedFilter, _T(""), exts, theApp.dir, title, false); if( dlg.DoModal() == IDOK ) { if( system == 0 ) { regSetDwordValue( _T("selectedFilter"), dlg.m_ofn.nFilterIndex ); } theApp.szFile = dlg.GetPathName(); theApp.dir = theApp.szFile.Left( dlg.m_ofn.nFileOffset ); if( (theApp.dir.GetLength() > 3) && (theApp.dir[theApp.dir.GetLength()-1] == _T('\\')) ) { theApp.dir = theApp.dir.Left( theApp.dir.GetLength() - 1 ); } SetCurrentDirectory( theApp.dir ); regSetStringValue( _T("lastDir"), theApp.dir ); return true; } return false; }