static void audioOutputChange() { if (!hAudioDlg) { return; } // get selected audio output int sel = SendDlgItemMessage(hAudioDlg, IDC_PREF_AUDIOOUTPUT, CB_GETCURSEL, 0, 0); TCHAR output[MAX_PATH] = _T(""); SendDlgItemMessage(hAudioDlg, IDC_PREF_AUDIOOUTPUT, CB_GETLBTEXT, (WPARAM)sel, (LPARAM)output); // reinit audio audio.select(output); mediaReInitAudio(); // reinit device if output changed audioDeviceInit(); int xaudio2 = _tcscmp(_T("XAudio2"), output); EnableWindow(GetDlgItem(hAudioDlg, IDC_PREF_STEREOUPMIX), (xaudio2 == 0) ? TRUE : FALSE); }
static void onCommand(HWND hDlg, int id, HWND /*hwndCtl*/, UINT codeNotify) { if (bLoading) { return; } switch (id) { case MENU_LOAD: HK_openGame(0); break; case MENU_LOAD_QUICK: HK_quickOpenGame(0); break; case MENU_QUIT: HK_exitGame(0); break; case MENU_EXIT: StopReplay(); AviStop(); FBA_KailleraEnd(); PostQuitMessage(0); menuSync(MENUT_ALL); return; case MENU_PAUSE: HK_pause(0); break; case MENU_CARTR_MOUNT: mountCartridge(true); menuSync(MENUT_FILE); break; case MENU_CARTR_UNMOUNT: mountCartridge(false); menuSync(MENUT_FILE); break; case MENU_STARTNET: if (!kNetGame) { InputSetCooperativeLevel(false, !bAlwaysProcessKey); audio.blank(); SplashDestroy(1); StopReplay(); AviStop(); BurnerDrvExit(); // load kaillera.dll if (FBA_KailleraInit()) { DoNetGame(); } menuSync(MENUT_ALL); InputSetCooperativeLevel(false, !bAlwaysProcessKey); } break; case MENU_STARTREPLAY: HK_playRec(0); break; case MENU_STARTRECORD: HK_startRec(0); break; case MENU_STOPREPLAY: HK_stopRec(0); break; case MENU_AVISTART: HK_startAvi(0); break; case MENU_AVISTOP: HK_stopAvi(0); break; case MENU_AVIINTAUD: nAviIntAudio = !nAviIntAudio; menuSync(MENUT_FILE); break; case MENU_MEMCARD_CREATE: if (useDialogs() && bDrvOkay && !kNetGame && (BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SNK_NEOGEO) { InputSetCooperativeLevel(false, !bAlwaysProcessKey); audio.blank(); MemCardEject(); MemCardCreate(); MemCardInsert(); menuSync(MENUT_FILE); GameInpCheckMouse(); } break; case MENU_MEMCARD_SELECT: if (useDialogs() && bDrvOkay && !kNetGame && (BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SNK_NEOGEO) { InputSetCooperativeLevel(false, !bAlwaysProcessKey); audio.blank(); MemCardEject(); MemCardSelect(); MemCardInsert(); menuSync(MENUT_FILE); GameInpCheckMouse(); } break; case MENU_MEMCARD_INSERT: if (bDrvOkay && !kNetGame && (BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SNK_NEOGEO) { MemCardInsert(); } break; case MENU_MEMCARD_EJECT: if (bDrvOkay && !kNetGame && (BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SNK_NEOGEO) { MemCardEject(); } break; case MENU_MEMCARD_TOGGLE: if (bDrvOkay && !kNetGame && (BurnDrvGetHardwareCode() & HARDWARE_PUBLIC_MASK) == HARDWARE_SNK_NEOGEO) { MemCardToggle(); } break; case MENU_STATE_LOAD_DIALOG: HK_loadStateDialog(0); break; case MENU_STATE_SAVE_DIALOG: HK_saveStateDialog(0); return; case MENU_STATE_PREVSLOT: HK_prevState(0); break; case MENU_STATE_NEXTSLOT: HK_nextState(0); break; case MENU_STATE_LOAD_SLOT: HK_loadCurState(0); break; case MENU_STATE_SAVE_SLOT: HK_saveCurState(0); break; case MENU_STATE_ALLRAM: bDrvSaveAll = !bDrvSaveAll; menuSync(MENUT_FILE); break; case MENU_WLOGSTART: audio.blank(); waveLogStart(); break; case MENU_WLOGEND: audio.blank(); waveLogStop(); break; case MENU_NOSTRETCH: bVidCorrectAspect = 0; bVidFullStretch = 0; simpleReinitScrn(false); menuSync(MENUT_SETTING); break; case MENU_STRETCH: bVidFullStretch = 1; bVidCorrectAspect = 0; simpleReinitScrn(false); menuSync(MENUT_SETTING); break; case MENU_ASPECT: bVidCorrectAspect = 1; bVidFullStretch = 0; simpleReinitScrn(false); menuSync(MENUT_SETTING); break; case MENU_FULL: HK_fullscreen(0); return; case MENU_AUTOSIZE: if (nWindowSize != 0) { nWindowSize = 0; simpleReinitScrn(false); menuSync(MENUT_SETTING); } break; case MENU_WINDOWSIZE1X: HK_windowSize(1); break; case MENU_WINDOWSIZE2X: HK_windowSize(2); break; case MENU_WINDOWSIZE3X: HK_windowSize(3); break; case MENU_WINDOWSIZE4X: HK_windowSize(4); break; case MENU_WINDOWSIZEMAX: HK_windowSizeMax(0); break; case MENU_HOTKEYS: MHkeysCreate(hDlg); break; case MENU_INPUT: HK_configPad(0); break; case MENU_DIPSW: HK_setDips(0); break; case MENU_SETCPUCLOCK: audio.blank(); CPUClockDialog(hDlg); menuSync(MENUT_GAME); GameInpCheckMouse(); break; case MENU_RESETCPUCLOCK: nBurnCPUSpeedAdjust = 0x0100; menuSync(MENUT_GAME); break; // ==> rom save case MENU_SAVEC: bsavedecryptedcs = !bsavedecryptedcs; menuSync(MENUT_GAME); break; case MENU_SAVEP: bsavedecryptedps = !bsavedecryptedps; menuSync(MENUT_GAME); break; case MENU_SAVES: bsavedecrypteds1 = !bsavedecrypteds1; menuSync(MENUT_GAME); break; case MENU_SAVEV: bsavedecryptedvs = !bsavedecryptedvs; menuSync(MENUT_GAME); break; case MENU_SAVEM: bsavedecryptedm1 = !bsavedecryptedm1; menuSync(MENUT_GAME); break; case MENU_SAVEXOR: bsavedecryptedxor = !bsavedecryptedxor; menuSync(MENUT_GAME); break; case MENU_SAVEDPROM: bsavedecryptedprom = !bsavedecryptedprom; menuSync(MENUT_GAME); break; // <== rom save case MENU_LANGUAGE_SELECT: if (useDialogs()) { if (!FBALocaliseLoad()) { menuReinit(); } } break; case MENU_LANGUAGE_UNLOAD: _tcsncpy(szLanguage, _T(""), sizearray(szLanguage)); FBALocaliseExit(); menuReinit(); break; case MENU_GAMELIST_SELECT: if (useDialogs()) { loadGamelist(); } break; case MENU_GAMELIST_EXPORT: if (useDialogs()) { createGamelist(); } break; case MENU_MISCDIR_EDIT: if (useDialogs()) { pathSheetCreate(hDlg); } break; case MENU_ROMDIR_EDIT: if (useDialogs()) { RomsDirCreate(hDlg); } break; case MENU_ENABLECHEAT: HK_cheatEditor(0); break; #ifndef NO_CHEATSEARCH case MENU_CHEATSEARCH: HK_cheatSearch(0); break; #endif // ==> simple jukebox, added by regret case MENU_JUKEBOX: if (useDialogs()) { jukeCreate(); InputSetCooperativeLevel(false, !bAlwaysProcessKey); } break; // <== simple jukebox case MENU_DEBUG: if (useDialogs()) { InputSetCooperativeLevel(false, !bAlwaysProcessKey); DebugCreate(); } break; case MENU_SAVESNAP: { HK_screenShot(0); break; } case MENU_SNAPFACT: HK_shotFactory(0); break; case MENU_SKIN_SELECT: if (useDialogs()) { if (selectSkin() == 0) { simpleReinitScrn(true); } } break; case MENU_SKIN_UNLOAD: _tcsncpy(szPlaceHolder, _T(""), sizearray(szPlaceHolder)); simpleReinitScrn(true); break; case MENU_CLRMAMEPRO_XML: if (useDialogs()) { createDatfileWindows(1); } break; case MENU_CLRMAME_PRO: if (useDialogs()) { createDatfileWindows(0); } break; case MENU_SAVESET: configAppSaveXml(); break; case MENU_LOADSET: configAppLoadXml(); POST_INITIALISE_MESSAGE; break; case MENU_ABOUT: if (useDialogs()) { InputSetCooperativeLevel(false, !bAlwaysProcessKey); audio.blank(); AboutCreate(hDlg); GameInpCheckMouse(); } break; case MENU_SYSINFO: if (useDialogs()) { InputSetCooperativeLevel(false, !bAlwaysProcessKey); audio.blank(); SystemInfoCreate(hDlg); GameInpCheckMouse(); } break; case MENU_CONTENTS: { if (useDialogs()) { FILE* fp = _tfopen(_T("readme.txt"), _T("r")); if (fp) { fclose(fp); ShellExecute(NULL, _T("open"), _T("readme.txt"), NULL, NULL, SW_SHOWNORMAL); } } break; } case MENU_WWW_HOME: ShellExecute(NULL, _T("open"), _T("http://www.barryharris.me.uk/"), NULL, NULL, SW_SHOWNORMAL); break; case MENU_WWW_FORUM: ShellExecute(NULL, _T("open"), _T("http://neosource.1emulation.com/forums/"), NULL, NULL, SW_SHOWNORMAL); break; case MENU_WWW_FORUM1: ShellExecute(NULL, _T("open"), _T("http://www.egcg.com.cn/bbs/"), NULL, NULL, SW_SHOWNORMAL); break; // filters case MENU_SOFT_NONE: vidUseFilter = 0; nVidFilter = 0; VidReinit(); menuSync(MENUT_SETTING); break; case MENU_SOFT_EPXB: case MENU_SOFT_EPXC: case MENU_SOFT_SCALE2X: case MENU_SOFT_SCALE3X: case MENU_SOFT_2XSAI: case MENU_SOFT_SUPER2XSAI: case MENU_SOFT_SUPEREAGLE: case MENU_SOFT_2XPMHQ: case MENU_SOFT_HQ2X: case MENU_SOFT_HQ2XS: case MENU_SOFT_HQ2XBOLD: case MENU_SOFT_HQ3X: case MENU_SOFT_HQ3XS: case MENU_SOFT_HQ3XBOLD: case MENU_SOFT_SCANLINE: case MENU_SOFT_SCANLINE50: case MENU_SOFT_SCANLINE25: case MENU_SOFT_INTERSCANLINE: case MENU_SOFT_INTERSCANLINE50: case MENU_SOFT_INTERSCANLINE25: vidUseFilter = 1; nVidFilter = id - MENU_SOFT_NONE; scrnSize(); VidSwitchFilter(nVidFilter); menuSync(MENUT_SETTING); break; case MENU_FILTER_AUTOSIZE: vidForceFilterSize = !vidForceFilterSize; simpleReinitScrn(true); menuSync(MENUT_SETTING); break; // Options for blitters case MENU_FILTER_POINT: if (vidFilterLinear) { vidFilterLinear = 0; VidReinit(); menuSync(MENUT_SETTING); } break; case MENU_FILTER_LINEAR: if (!vidFilterLinear) { vidFilterLinear = 1; VidReinit(); menuSync(MENUT_SETTING); } break; case MENU_CONFIGALL: if (useDialogs()) { preferenceCreate(hDlg); setWindowAspect(); menuReinit(); simpleReinitScrn(true); mediaReInitAudio(); } break; case MENU_VIDEOCONFIG: if (useDialogs()) { prefVideoCreate(hDlg); setWindowAspect(); simpleReinitScrn(true); } break; case MENU_AUDIOCONFIG: if (useDialogs()) { prefAudioCreate(hDlg); mediaReInitAudio(); } break; case MENU_MISCCONFIG: if (useDialogs()) { prefMiscCreate(hDlg); menuReinit(); VidReinit(); } break; // default: // printf(" * Command %i sent.\n"); } if (ChatActivated()) { switch (codeNotify) { case EN_CHANGE: { bEditTextChanged = true; SendMessage(GetChatWindow(), WM_GETTEXT, (WPARAM)MAX_CHAT_SIZE + 1, (LPARAM)EditText); break; } case EN_KILLFOCUS: { ActivateChat(); break; } case EN_MAXTEXT: { VidSNewShortMsg(FBALoadStringEx(IDS_NETPLAY_TOOMUCH), 0xFF3F3F); break; } } } }