mirror of
https://github.com/libretro/ppsspp.git
synced 2025-03-04 22:49:46 +00:00
Merge pull request #3758 from thedax/win32Cleanup
Win32 UI: Some cleanups and simplifications, fix some small bugs.
This commit is contained in:
commit
588d3e3c4f
@ -166,9 +166,11 @@ void EmuScreen::sendMessage(const char *message, const char *value) {
|
||||
bootGame(value);
|
||||
}
|
||||
else if (!strcmp(message, "control mapping")) {
|
||||
globalUIState = UISTATE_MENU;
|
||||
screenManager()->push(new ControlMappingScreen());
|
||||
}
|
||||
else if (!strcmp(message, "settings")) {
|
||||
globalUIState = UISTATE_MENU;
|
||||
screenManager()->push(new GameSettingsScreen(gamePath_));
|
||||
}
|
||||
}
|
||||
|
@ -44,7 +44,6 @@
|
||||
namespace MainWindow {
|
||||
enum {
|
||||
WM_USER_LOG_STATUS_CHANGED = WM_USER + 101,
|
||||
WM_USER_ATRAC_STATUS_CHANGED = WM_USER + 102,
|
||||
};
|
||||
extern HWND hwndMain;
|
||||
}
|
||||
|
@ -559,9 +559,11 @@ void MainScreen::sendMessage(const char *message, const char *value) {
|
||||
screenManager()->RecreateAllViews();
|
||||
}
|
||||
if (!strcmp(message, "control mapping")) {
|
||||
globalUIState = UISTATE_MENU;
|
||||
screenManager()->push(new ControlMappingScreen());
|
||||
}
|
||||
if (!strcmp(message, "settings")) {
|
||||
globalUIState = UISTATE_MENU;
|
||||
screenManager()->push(new GameSettingsScreen(""));
|
||||
}
|
||||
}
|
||||
@ -587,13 +589,23 @@ UI::EventReturn MainScreen::OnLoadFile(UI::EventParams &e) {
|
||||
}
|
||||
|
||||
UI::EventReturn MainScreen::OnGameSelected(UI::EventParams &e) {
|
||||
screenManager()->push(new GameScreen(e.s));
|
||||
#ifdef _WIN32
|
||||
std::string path = ReplaceAll(e.s, "//", "/");
|
||||
#else
|
||||
std::string path = e.s;
|
||||
#endif
|
||||
screenManager()->push(new GameScreen(path));
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
UI::EventReturn MainScreen::OnGameSelectedInstant(UI::EventParams &e) {
|
||||
#ifdef _WIN32
|
||||
std::string path = ReplaceAll(e.s, "//", "/");
|
||||
#else
|
||||
std::string path = e.s;
|
||||
#endif
|
||||
// Go directly into the game.
|
||||
screenManager()->switchScreen(new EmuScreen(e.s));
|
||||
screenManager()->switchScreen(new EmuScreen(path));
|
||||
return UI::EVENT_DONE;
|
||||
}
|
||||
|
||||
|
@ -107,32 +107,14 @@ void WindowsHost::ShutdownGL()
|
||||
|
||||
void WindowsHost::SetWindowTitle(const char *message)
|
||||
{
|
||||
std::string title = std::string("PPSSPP ") + PPSSPP_GIT_VERSION;
|
||||
if (message)
|
||||
title = title + " - " + message;
|
||||
|
||||
int size = MultiByteToWideChar(CP_UTF8, 0, title.c_str(), (int) title.size(), NULL, 0);
|
||||
if (size > 0)
|
||||
{
|
||||
// VC++6.0 any more?
|
||||
wchar_t *utf16_title = new(std::nothrow) wchar_t[size + 1];
|
||||
if (utf16_title)
|
||||
size = MultiByteToWideChar(CP_UTF8, 0, title.c_str(), (int) title.size(), utf16_title, size);
|
||||
else
|
||||
size = 0;
|
||||
|
||||
if (size > 0)
|
||||
{
|
||||
utf16_title[size] = 0;
|
||||
// Don't use SetWindowTextW because it will internally use DefWindowProcA.
|
||||
DefWindowProcW(mainWindow_, WM_SETTEXT, 0, (LPARAM) utf16_title);
|
||||
delete[] utf16_title;
|
||||
}
|
||||
std::wstring winTitle = ConvertUTF8ToWString(std::string("PPSSPP ") + PPSSPP_GIT_VERSION);
|
||||
if(message != nullptr) {
|
||||
winTitle.append(ConvertUTF8ToWString(" - "));
|
||||
winTitle.append(ConvertUTF8ToWString(message));
|
||||
}
|
||||
|
||||
// Something went wrong, fall back to using the local codepage.
|
||||
if (size <= 0)
|
||||
SetWindowTextA(mainWindow_, title.c_str());
|
||||
MainWindow::SetWindowTitle(winTitle.c_str());
|
||||
PostMessage(MainWindow::GetHWND(), MainWindow::WM_USER_WINDOW_TITLE_CHANGED, 0, 0);
|
||||
}
|
||||
|
||||
void WindowsHost::InitSound(PMixer *mixer)
|
||||
|
@ -74,6 +74,7 @@
|
||||
extern std::map<int, int> windowsTransTable;
|
||||
BOOL g_bFullScreen = FALSE;
|
||||
static RECT g_normalRC = {0};
|
||||
static std::wstring windowTitle;
|
||||
extern bool g_TakeScreenshot;
|
||||
extern InputState input_state;
|
||||
|
||||
@ -269,6 +270,7 @@ namespace MainWindow
|
||||
CorrectCursor();
|
||||
ResizeDisplay();
|
||||
ShowOwnedPopups(hwndMain, TRUE);
|
||||
W32Util::MakeTopMost(hwndMain, g_Config.bTopMost);
|
||||
}
|
||||
|
||||
void _ViewFullScreen(HWND hWnd) {
|
||||
@ -433,16 +435,28 @@ namespace MainWindow
|
||||
langMenuCreated = true;
|
||||
}
|
||||
|
||||
void TranslateMenuItembyText(const int menuID, const char *menuText, const char *category="", const bool enabled = true, const bool checked = false, const std::wstring& accelerator = L"") {
|
||||
void _TranslateMenuItem(const int menuID, const char *text, const char *category, const std::wstring& accelerator = L"") {
|
||||
I18NCategory *c = GetI18NCategory(category);
|
||||
std::string key = c->T(menuText);
|
||||
|
||||
std::string key = c->T(text);
|
||||
std::wstring translated = ConvertUTF8ToWString(key);
|
||||
translated.append(accelerator);
|
||||
ModifyMenu(menu, menuID, MF_STRING
|
||||
| (enabled? MF_ENABLED : MF_GRAYED)
|
||||
| (checked? MF_CHECKED : MF_UNCHECKED),
|
||||
menuID, translated.c_str());
|
||||
|
||||
ModifyMenu(menu, menuID, MF_STRING, menuID, translated.c_str());
|
||||
}
|
||||
|
||||
// Replaces TranslateMenuItemByText. Use this for menu items that change text dynamically
|
||||
// like "Run/Pause".
|
||||
void TranslateMenuItem(const int menuID, const char *category, const char *menuText, const std::wstring& accelerator = L"") {
|
||||
if(menuText == nullptr || !strcmp(menuText, ""))
|
||||
_TranslateMenuItem(menuID, GetMenuItemInitialText(menuID).c_str(), category, accelerator);
|
||||
else
|
||||
_TranslateMenuItem(menuID, menuText, category, accelerator);
|
||||
}
|
||||
|
||||
// Use this one for menu items that don't change.
|
||||
void TranslateMenuItem(const int menuID, const char *category, const std::wstring& accelerator = L"") {
|
||||
_TranslateMenuItem(menuID, GetMenuItemInitialText(menuID).c_str(), category, accelerator);
|
||||
}
|
||||
|
||||
void TranslateMenuHeader(HMENU menu, const char *category, const char *key, const MenuID id, const std::wstring& accelerator = L"") {
|
||||
@ -463,17 +477,6 @@ namespace MainWindow
|
||||
ModifyMenu(subMenu, subMenuID, MF_BYPOSITION | MF_STRING, 0, translated.c_str());
|
||||
}
|
||||
|
||||
void TranslateMenuItem(const int menuID, const char *category, const bool enabled = true, const bool checked = false, const std::wstring& accelerator = L"") {
|
||||
I18NCategory *c = GetI18NCategory(category);
|
||||
std::string key = c->T(GetMenuItemInitialText(menuID).c_str());
|
||||
std::wstring translated = ConvertUTF8ToWString(key);
|
||||
translated.append(accelerator);
|
||||
ModifyMenu(menu, menuID, MF_STRING
|
||||
| (enabled? MF_ENABLED : MF_GRAYED)
|
||||
| (checked? MF_CHECKED : MF_UNCHECKED),
|
||||
menuID, translated.c_str());
|
||||
}
|
||||
|
||||
void TranslateMenus() {
|
||||
const char *desktopUI = "DesktopUI";
|
||||
|
||||
@ -482,26 +485,20 @@ namespace MainWindow
|
||||
TranslateMenuItem(ID_FILE_LOAD_DIR, desktopUI);
|
||||
TranslateMenuItem(ID_FILE_LOAD_MEMSTICK, desktopUI);
|
||||
TranslateMenuItem(ID_FILE_MEMSTICK, desktopUI);
|
||||
TranslateMenuItem(ID_FILE_QUICKLOADSTATE, desktopUI, false, false, L"\tF4");
|
||||
TranslateMenuItem(ID_FILE_QUICKSAVESTATE, desktopUI, false, false, L"\tF2");
|
||||
TranslateMenuItem(ID_FILE_LOADSTATEFILE, desktopUI, false, false);
|
||||
TranslateMenuItem(ID_FILE_SAVESTATEFILE, desktopUI, false, false);
|
||||
TranslateMenuItem(ID_FILE_EXIT, desktopUI, true, false, L"\tAlt+F4");
|
||||
TranslateMenuItem(ID_FILE_QUICKLOADSTATE, desktopUI, L"\tF4");
|
||||
TranslateMenuItem(ID_FILE_QUICKSAVESTATE, desktopUI, L"\tF2");
|
||||
TranslateMenuItem(ID_FILE_LOADSTATEFILE, desktopUI);
|
||||
TranslateMenuItem(ID_FILE_SAVESTATEFILE, desktopUI);
|
||||
TranslateMenuItem(ID_FILE_EXIT, desktopUI, L"\tAlt+F4");
|
||||
|
||||
// Emulation menu
|
||||
bool isPaused = Core_IsStepping() && globalUIState == UISTATE_INGAME;
|
||||
TranslateMenuItembyText(ID_TOGGLE_PAUSE, isPaused ? "Run" : "Pause", "DesktopUI", false, false, L"\tF8");
|
||||
TranslateMenuItem(ID_EMULATION_STOP, desktopUI, false, false, L"\tCtrl+W");
|
||||
TranslateMenuItem(ID_EMULATION_RESET, desktopUI, false, false, L"\tCtrl+B");
|
||||
bool isPaused = Core_IsStepping() && (globalUIState == UISTATE_INGAME);
|
||||
TranslateMenuItem(ID_TOGGLE_PAUSE, desktopUI, isPaused ? "Run" : "Pause", L"\tF8");
|
||||
TranslateMenuItem(ID_EMULATION_STOP, desktopUI, L"\tCtrl+W");
|
||||
TranslateMenuItem(ID_EMULATION_RESET, desktopUI, L"\tCtrl+B");
|
||||
TranslateMenuItem(ID_DEBUG_RUNONLOAD, desktopUI);
|
||||
TranslateMenuItem(ID_EMULATION_SOUND, desktopUI, true, true);
|
||||
TranslateMenuItem(ID_EMULATION_ATRAC3_SOUND, desktopUI, true, false);
|
||||
TranslateMenuItem(ID_EMULATION_CHEATS, desktopUI,true, true, L"\tCtrl+T");
|
||||
TranslateMenuItem(ID_EMULATION_RENDER_MODE_OGL, desktopUI, true, true);
|
||||
TranslateMenuItem(ID_EMULATION_RENDER_MODE_SOFT, desktopUI);
|
||||
TranslateMenuItem(ID_CPU_DYNAREC, desktopUI);
|
||||
TranslateMenuItem(ID_CPU_MULTITHREADED, desktopUI);
|
||||
TranslateMenuItem(ID_IO_MULTITHREADED, desktopUI);
|
||||
TranslateMenuItem(ID_EMULATION_SOUND, desktopUI);
|
||||
TranslateMenuItem(ID_EMULATION_CHEATS, desktopUI, L"\tCtrl+T");
|
||||
|
||||
// Debug menu
|
||||
TranslateMenuItem(ID_DEBUG_LOADMAPFILE, desktopUI);
|
||||
@ -509,22 +506,22 @@ namespace MainWindow
|
||||
TranslateMenuItem(ID_DEBUG_RESETSYMBOLTABLE, desktopUI);
|
||||
TranslateMenuItem(ID_DEBUG_DUMPNEXTFRAME, desktopUI);
|
||||
TranslateMenuItem(ID_DEBUG_SHOWDEBUGSTATISTICS, desktopUI);
|
||||
TranslateMenuItem(ID_DEBUG_TAKESCREENSHOT, desktopUI, true, false, L"\tF12");
|
||||
TranslateMenuItem(ID_DEBUG_DISASSEMBLY, desktopUI, true, false, L"\tCtrl+D");
|
||||
TranslateMenuItem(ID_DEBUG_LOG, desktopUI, true, false, L"\tCtrl+L");
|
||||
TranslateMenuItem(ID_DEBUG_MEMORYVIEW, desktopUI, true, false, L"\tCtrl+M");
|
||||
TranslateMenuItem(ID_DEBUG_TAKESCREENSHOT, desktopUI, L"\tF12");
|
||||
TranslateMenuItem(ID_DEBUG_DISASSEMBLY, desktopUI, L"\tCtrl+D");
|
||||
TranslateMenuItem(ID_DEBUG_LOG, desktopUI, L"\tCtrl+L");
|
||||
TranslateMenuItem(ID_DEBUG_MEMORYVIEW, desktopUI, L"\tCtrl+M");
|
||||
|
||||
// Options menu
|
||||
TranslateMenuItem(ID_OPTIONS_FULLSCREEN, desktopUI, true, false, L"\tAlt+Return, F11");
|
||||
TranslateMenuItem(ID_OPTIONS_FULLSCREEN, desktopUI, L"\tAlt+Return, F11");
|
||||
TranslateMenuItem(ID_OPTIONS_TOPMOST, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_STRETCHDISPLAY, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_SCREENAUTO, desktopUI);
|
||||
// Skip rendering resolution 2x-5x..
|
||||
// Skip window size 1x-4x..
|
||||
TranslateMenuItem(ID_OPTIONS_NONBUFFEREDRENDERING, desktopUI, true, false);
|
||||
TranslateMenuItem(ID_OPTIONS_BUFFEREDRENDERING, desktopUI, true, true);
|
||||
TranslateMenuItem(ID_OPTIONS_READFBOTOMEMORYCPU, desktopUI, true, false);
|
||||
TranslateMenuItem(ID_OPTIONS_READFBOTOMEMORYGPU, desktopUI, true, false);
|
||||
TranslateMenuItem(ID_OPTIONS_NONBUFFEREDRENDERING, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_BUFFEREDRENDERING, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_READFBOTOMEMORYCPU, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_READFBOTOMEMORYGPU, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_FRAMESKIP_0, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_FRAMESKIP_AUTO, desktopUI);
|
||||
// Skip frameskipping 1-8..
|
||||
@ -541,13 +538,10 @@ namespace MainWindow
|
||||
TranslateMenuItem(ID_TEXTURESCALING_BICUBIC, desktopUI);
|
||||
TranslateMenuItem(ID_TEXTURESCALING_HYBRID_BICUBIC, desktopUI);
|
||||
TranslateMenuItem(ID_TEXTURESCALING_DEPOSTERIZE, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_HARDWARETRANSFORM, desktopUI, true, true, L"\tF6");
|
||||
TranslateMenuItem(ID_OPTIONS_HARDWARETRANSFORM, desktopUI, L"\tF6");
|
||||
TranslateMenuItem(ID_OPTIONS_VERTEXCACHE, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_MIPMAP, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_ANTIALIASING, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_VSYNC, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_SHOWFPS, desktopUI);
|
||||
TranslateMenuItem(ID_OPTIONS_FASTMEMORY, desktopUI);
|
||||
TranslateMenuItem(ID_DEBUG_IGNOREILLEGALREADS, desktopUI);
|
||||
|
||||
// Language menu
|
||||
@ -650,6 +644,15 @@ namespace MainWindow
|
||||
g_Config.bEnableCheats = cheats;
|
||||
}
|
||||
|
||||
void UpdateWindowTitle() {
|
||||
// Seems to be fine to call now since we use a UNICODE build...
|
||||
SetWindowText(hwndMain, windowTitle.c_str());
|
||||
}
|
||||
|
||||
void SetWindowTitle(const wchar_t *title) {
|
||||
windowTitle = title;
|
||||
}
|
||||
|
||||
BOOL Show(HINSTANCE hInstance, int nCmdShow) {
|
||||
hInst = hInstance; // Store instance handle in our global variable.
|
||||
|
||||
@ -791,6 +794,7 @@ namespace MainWindow
|
||||
_splitpath(fullpath.c_str(), drive, dir, fname, ext);
|
||||
|
||||
std::string executable = std::string(drive) + std::string(dir) + std::string(fname) + std::string(ext);
|
||||
executable = ReplaceAll(executable, "\\", "/");
|
||||
NativeMessageReceived("boot", executable.c_str());
|
||||
}
|
||||
else {
|
||||
@ -1108,14 +1112,6 @@ namespace MainWindow
|
||||
NativeMessageReceived("reset", "");
|
||||
break;
|
||||
|
||||
case ID_EMULATION_RENDER_MODE_OGL:
|
||||
g_Config.bSoftwareRendering = false;
|
||||
break;
|
||||
|
||||
case ID_EMULATION_RENDER_MODE_SOFT:
|
||||
g_Config.bSoftwareRendering = true;
|
||||
break;
|
||||
|
||||
case ID_FILE_LOADSTATEFILE:
|
||||
if (W32Util::BrowseForFileName(true, hWnd, L"Load state",0,L"Save States (*.ppst)\0*.ppst\0All files\0*.*\0\0",L"ppst",fn)) {
|
||||
SetCursor(LoadCursor(0, IDC_WAIT));
|
||||
@ -1177,10 +1173,6 @@ namespace MainWindow
|
||||
break;
|
||||
}
|
||||
|
||||
case ID_OPTIONS_MIPMAP:
|
||||
g_Config.bMipMap = !g_Config.bMipMap;
|
||||
break;
|
||||
|
||||
case ID_OPTIONS_VSYNC:
|
||||
g_Config.bVSync = !g_Config.bVSync;
|
||||
break;
|
||||
@ -1250,18 +1242,6 @@ namespace MainWindow
|
||||
DestroyWindow(hWnd);
|
||||
break;
|
||||
|
||||
case ID_CPU_DYNAREC:
|
||||
g_Config.bJit = !g_Config.bJit;
|
||||
break;
|
||||
|
||||
case ID_CPU_MULTITHREADED:
|
||||
g_Config.bSeparateCPUThread = !g_Config.bSeparateCPUThread;
|
||||
break;
|
||||
|
||||
case ID_IO_MULTITHREADED:
|
||||
g_Config.bSeparateIOThread = !g_Config.bSeparateIOThread;
|
||||
break;
|
||||
|
||||
case ID_DEBUG_RUNONLOAD:
|
||||
g_Config.bAutoRun = !g_Config.bAutoRun;
|
||||
break;
|
||||
@ -1335,10 +1315,6 @@ namespace MainWindow
|
||||
g_Config.iShowFPSCounter = !g_Config.iShowFPSCounter;
|
||||
break;
|
||||
|
||||
case ID_OPTIONS_FASTMEMORY:
|
||||
g_Config.bFastMemory = !g_Config.bFastMemory;
|
||||
break;
|
||||
|
||||
case ID_OPTIONS_TEXTUREFILTERING_AUTO: setTexFiltering(AUTO); break;
|
||||
case ID_OPTIONS_NEARESTFILTERING: setTexFiltering(NEAREST); break;
|
||||
case ID_OPTIONS_LINEARFILTERING: setTexFiltering(LINEAR); break;
|
||||
@ -1351,35 +1327,17 @@ namespace MainWindow
|
||||
|
||||
case ID_OPTIONS_CONTROLS:
|
||||
NativeMessageReceived("control mapping", "");
|
||||
globalUIState = UISTATE_MENU;
|
||||
break;
|
||||
|
||||
case ID_OPTIONS_MORE_SETTINGS:
|
||||
NativeMessageReceived("settings", "");
|
||||
globalUIState = UISTATE_MENU;
|
||||
break;
|
||||
|
||||
case ID_EMULATION_SOUND:
|
||||
g_Config.bEnableSound = !g_Config.bEnableSound;
|
||||
if(!g_Config.bEnableSound) {
|
||||
EnableMenuItem(menu, ID_EMULATION_ATRAC3_SOUND, MF_GRAYED);
|
||||
if(!IsAudioInitialised())
|
||||
Audio_Init();
|
||||
} else {
|
||||
if(Atrac3plus_Decoder::IsInstalled())
|
||||
EnableMenuItem(menu, ID_EMULATION_ATRAC3_SOUND, MF_ENABLED);
|
||||
}
|
||||
break;
|
||||
|
||||
case ID_EMULATION_ATRAC3_SOUND:
|
||||
g_Config.bEnableAtrac3plus = !g_Config.bEnableAtrac3plus;
|
||||
|
||||
if(Atrac3plus_Decoder::IsInstalled()) {
|
||||
if(g_Config.bEnableAtrac3plus)
|
||||
Atrac3plus_Decoder::Init();
|
||||
else Atrac3plus_Decoder::Shutdown();
|
||||
} else {
|
||||
EnableMenuItem(menu, ID_EMULATION_ATRAC3_SOUND, MF_GRAYED);
|
||||
}
|
||||
break;
|
||||
|
||||
@ -1558,13 +1516,6 @@ namespace MainWindow
|
||||
}
|
||||
break;
|
||||
|
||||
case WM_USER_ATRAC_STATUS_CHANGED:
|
||||
if(g_Config.bEnableAtrac3plus && Atrac3plus_Decoder::IsInstalled())
|
||||
EnableMenuItem(menu, ID_EMULATION_ATRAC3_SOUND, MF_ENABLED);
|
||||
else
|
||||
EnableMenuItem(menu, ID_EMULATION_ATRAC3_SOUND, MF_GRAYED);
|
||||
break;
|
||||
|
||||
case WM_USER_UPDATE_UI:
|
||||
CreateLanguageMenu();
|
||||
TranslateMenus();
|
||||
@ -1575,6 +1526,10 @@ namespace MainWindow
|
||||
ResizeDisplay(true);
|
||||
break;
|
||||
|
||||
case WM_USER_WINDOW_TITLE_CHANGED:
|
||||
UpdateWindowTitle();
|
||||
break;
|
||||
|
||||
case WM_MENUSELECT:
|
||||
// Unfortunately, accelerate keys (hotkeys) shares the same enabled/disabled states
|
||||
// with corresponding menu items.
|
||||
@ -1605,25 +1560,17 @@ namespace MainWindow
|
||||
HMENU menu = GetMenu(GetHWND());
|
||||
#define CHECKITEM(item,value) CheckMenuItem(menu,item,MF_BYCOMMAND | ((value) ? MF_CHECKED : MF_UNCHECKED));
|
||||
CHECKITEM(ID_DEBUG_IGNOREILLEGALREADS, g_Config.bIgnoreBadMemAccess);
|
||||
CHECKITEM(ID_CPU_DYNAREC, g_Config.bJit == true);
|
||||
CHECKITEM(ID_CPU_MULTITHREADED, g_Config.bSeparateCPUThread);
|
||||
CHECKITEM(ID_IO_MULTITHREADED, g_Config.bSeparateIOThread);
|
||||
CHECKITEM(ID_DEBUG_SHOWDEBUGSTATISTICS, g_Config.bShowDebugStats);
|
||||
CHECKITEM(ID_OPTIONS_HARDWARETRANSFORM, g_Config.bHardwareTransform);
|
||||
CHECKITEM(ID_OPTIONS_FASTMEMORY, g_Config.bFastMemory);
|
||||
CHECKITEM(ID_OPTIONS_STRETCHDISPLAY, g_Config.bStretchToDisplay);
|
||||
CHECKITEM(ID_DEBUG_RUNONLOAD, g_Config.bAutoRun);
|
||||
CHECKITEM(ID_OPTIONS_VERTEXCACHE, g_Config.bVertexCache);
|
||||
CHECKITEM(ID_OPTIONS_SHOWFPS, g_Config.iShowFPSCounter);
|
||||
CHECKITEM(ID_OPTIONS_FRAMESKIP, g_Config.iFrameSkip != 0);
|
||||
CHECKITEM(ID_OPTIONS_MIPMAP, g_Config.bMipMap);
|
||||
CHECKITEM(ID_OPTIONS_VSYNC, g_Config.bVSync);
|
||||
CHECKITEM(ID_OPTIONS_TOPMOST, g_Config.bTopMost);
|
||||
CHECKITEM(ID_EMULATION_SOUND, g_Config.bEnableSound);
|
||||
CHECKITEM(ID_TEXTURESCALING_DEPOSTERIZE, g_Config.bTexDeposterize);
|
||||
CHECKITEM(ID_EMULATION_ATRAC3_SOUND, g_Config.bEnableAtrac3plus);
|
||||
CHECKITEM(ID_EMULATION_RENDER_MODE_OGL, g_Config.bSoftwareRendering == false);
|
||||
CHECKITEM(ID_EMULATION_RENDER_MODE_SOFT, g_Config.bSoftwareRendering == true);
|
||||
CHECKITEM(ID_EMULATION_CHEATS, g_Config.bEnableCheats);
|
||||
|
||||
static const int zoomitems[6] = {
|
||||
@ -1780,7 +1727,7 @@ namespace MainWindow
|
||||
HMENU menu = GetMenu(GetHWND());
|
||||
|
||||
bool isPaused = Core_IsStepping() && globalUIState == UISTATE_INGAME;
|
||||
TranslateMenuItembyText(ID_TOGGLE_PAUSE, isPaused ? "Run" : "Pause", "DesktopUI", false, false, L"\tF8");
|
||||
TranslateMenuItem(ID_TOGGLE_PAUSE, "DesktopUI", isPaused ? "Run" : "Pause", L"\tF8");
|
||||
|
||||
UINT ingameEnable = globalUIState == UISTATE_INGAME ? MF_ENABLED : MF_GRAYED;
|
||||
EnableMenuItem(menu, ID_TOGGLE_PAUSE, ingameEnable);
|
||||
@ -1792,13 +1739,7 @@ namespace MainWindow
|
||||
EnableMenuItem(menu, ID_FILE_LOADSTATEFILE, !menuEnable);
|
||||
EnableMenuItem(menu, ID_FILE_QUICKSAVESTATE, !menuEnable);
|
||||
EnableMenuItem(menu, ID_FILE_QUICKLOADSTATE, !menuEnable);
|
||||
EnableMenuItem(menu, ID_CPU_DYNAREC, menuEnable);
|
||||
EnableMenuItem(menu, ID_CPU_MULTITHREADED, menuEnable);
|
||||
EnableMenuItem(menu, ID_IO_MULTITHREADED, menuEnable);
|
||||
EnableMenuItem(menu, ID_DEBUG_LOG, !g_Config.bEnableLogging);
|
||||
EnableMenuItem(menu, ID_EMULATION_RENDER_MODE_OGL, menuEnable);
|
||||
EnableMenuItem(menu, ID_EMULATION_RENDER_MODE_SOFT, menuEnable);
|
||||
EnableMenuItem(menu, ID_EMULATION_ATRAC3_SOUND, !Atrac3plus_Decoder::IsInstalled());
|
||||
}
|
||||
|
||||
// Message handler for about box.
|
||||
|
@ -10,9 +10,9 @@ namespace MainWindow
|
||||
enum {
|
||||
WM_USER_SAVESTATE_FINISH = WM_USER + 100,
|
||||
WM_USER_LOG_STATUS_CHANGED = WM_USER + 101,
|
||||
WM_USER_ATRAC_STATUS_CHANGED = WM_USER + 102,
|
||||
WM_USER_UPDATE_UI = WM_USER + 103,
|
||||
WM_USER_UPDATE_SCREEN = WM_USER + 104,
|
||||
WM_USER_UPDATE_UI = WM_USER + 102,
|
||||
WM_USER_UPDATE_SCREEN = WM_USER + 103,
|
||||
WM_USER_WINDOW_TITLE_CHANGED = WM_USER + 104,
|
||||
};
|
||||
|
||||
enum {
|
||||
@ -42,6 +42,7 @@ namespace MainWindow
|
||||
void Close();
|
||||
void UpdateMenus();
|
||||
void UpdateCommands();
|
||||
void SetWindowTitle(const wchar_t *title);
|
||||
void Update();
|
||||
void Redraw();
|
||||
HWND GetHWND();
|
||||
|
@ -31,7 +31,6 @@
|
||||
#define ID_CONFIG_RESOLUTION 141
|
||||
#define ID_OPTIONS_FULLSCREEN 154
|
||||
#define ID_OPTIONS_SETTINGS 155
|
||||
#define ID_CPU_DYNAREC 156
|
||||
#define ID_OPTIONS_SHOWERRORS 158
|
||||
#define ID_PLUGINS_LOADDEFAULTPLUGINS 159
|
||||
#define IDD_MEMORY 160
|
||||
@ -64,8 +63,6 @@
|
||||
#define IDD_VFPU 231
|
||||
#define IDD_BREAKPOINT 233
|
||||
#define ID_FILE_LOAD_DIR 234
|
||||
#define ID_CPU_MULTITHREADED 235
|
||||
#define ID_IO_MULTITHREADED 236
|
||||
#define IDR_DEBUGACCELS 237
|
||||
#define ID_DEBUG_DISPLAYMEMVIEW 238
|
||||
#define ID_DEBUG_DISPLAYBREAKPOINTLIST 239
|
||||
@ -181,7 +178,6 @@
|
||||
#define ID_OPTIONS_SCREEN4X 40028
|
||||
#define ID_OPTIONS_SCREEN5X 40029
|
||||
#define ID_OPTIONS_HARDWARETRANSFORM 40030
|
||||
#define ID_OPTIONS_FASTMEMORY 40031
|
||||
#define IDC_STEPHLE 40032
|
||||
#define ID_OPTIONS_LINEARFILTERING 40033
|
||||
#define ID_FILE_QUICKSAVESTATE 40034
|
||||
@ -189,7 +185,6 @@
|
||||
#define ID_OPTIONS_CONTROLS 40036
|
||||
#define ID_DEBUG_RUNONLOAD 40037
|
||||
#define ID_DEBUG_DUMPNEXTFRAME 40038
|
||||
#define ID_OPTIONS_ANTIALIASING 40039
|
||||
#define ID_OPTIONS_VERTEXCACHE 40040
|
||||
#define ID_OPTIONS_SHOWFPS 40041
|
||||
#define ID_OPTIONS_STRETCHDISPLAY 40042
|
||||
@ -237,14 +232,11 @@
|
||||
#define ID_OPTIONS_FRAMESKIP_7 40084
|
||||
#define ID_OPTIONS_FRAMESKIP_8 40085
|
||||
#define ID_OPTIONS_FRAMESKIP_AUTO 40087
|
||||
#define ID_OPTIONS_FRAMESKIPDUMMY 40088
|
||||
#define ID_OPTIONS_RESOLUTIONDUMMY 40089
|
||||
#define ID_OPTIONS_FRAMESKIPDUMMY 40088
|
||||
#define ID_OPTIONS_RESOLUTIONDUMMY 40089
|
||||
#define ID_DISASM_ASSEMBLE 40090
|
||||
#define ID_DISASM_ADDNEWBREAKPOINT 40091
|
||||
#define ID_DISASM_EDITBREAKPOINT 40092
|
||||
#define ID_EMULATION_ATRAC3_SOUND 40093
|
||||
#define ID_EMULATION_RENDER_MODE_OGL 40094
|
||||
#define ID_EMULATION_RENDER_MODE_SOFT 40095
|
||||
#define ID_EMULATION_CHEATS 40096
|
||||
#define ID_HELP_CHINESE_FORUM 40097
|
||||
#define ID_OPTIONS_MORE_SETTINGS 40098
|
||||
|
Loading…
x
Reference in New Issue
Block a user