From: Toni Wilen Date: Sat, 31 May 2014 13:51:58 +0000 (+0300) Subject: 2810b4 X-Git-Tag: 2810~5 X-Git-Url: https://git.unchartedbackwaters.co.uk/w/?a=commitdiff_plain;h=c3883751b89128a9b52e541b4089bf61b501ee21;p=francis%2Fwinuae.git 2810b4 --- diff --git a/inputdevice.cpp b/inputdevice.cpp index 443ca31e..3da3c42f 100644 --- a/inputdevice.cpp +++ b/inputdevice.cpp @@ -2953,11 +2953,17 @@ static bool inputdevice_handle_inputcode2 (int code, int state) toggle_fullscreen (2); break; case AKS_TOGGLEMOUSEGRAB: - toggle_mousegrab (); + toggle_mousegrab(); break; case AKS_TOGGLERTG: toggle_rtg (newstate); break; + case AKS_SWITCHINTERPOL: + changed_prefs.sound_interpol++; + if (changed_prefs.sound_interpol > 4) + changed_prefs.sound_interpol = 0; + set_config_changed (); + break; case AKS_ENTERDEBUGGER: activate_debugger (); break; diff --git a/od-win32/rp.cpp b/od-win32/rp.cpp index 7c55bc71..863389ed 100644 --- a/od-win32/rp.cpp +++ b/od-win32/rp.cpp @@ -932,7 +932,7 @@ static void set_screenmode (struct RPScreenMode *sm, struct uae_prefs *p) updatewinfsmode (p); hwndset = 0; set_config_changed (); - +#if 0 write_log (_T("AFTER WW=%d (%d) WH=%d (%d) FW=%d (%d) FH=%d (%d) HM=%.1f VM=%.1f XP=%d YP=%d XS=%d YS=%d AS=%d AR=%d,%d\n"), p->gfx_size_win.width, currprefs.gfx_size_win.width, p->gfx_size_win.height, currprefs.gfx_size.height, p->gfx_size_fs.width, currprefs.gfx_size_fs.width, p->gfx_size_fs.height, currprefs.gfx_size_fs.height, @@ -941,6 +941,7 @@ static void set_screenmode (struct RPScreenMode *sm, struct uae_prefs *p) p->gfx_xcenter_size, p->gfx_ycenter_size, p->gf[0].gfx_filter_autoscale, p->gf[0].gfx_filter_aspect, p->gf[0].gfx_filter_keep_aspect); write_log (_T("AFTER W=%d (%d) H=%d (%d)\n"), p->gfx_size.width, currprefs.gfx_size.width, p->gfx_size.height, currprefs.gfx_size.height); +#endif } static LRESULT CALLBACK RPHostMsgFunction2 (UINT uMessage, WPARAM wParam, LPARAM lParam, diff --git a/od-win32/win32.cpp b/od-win32/win32.cpp index 0e3be09d..28924989 100644 --- a/od-win32/win32.cpp +++ b/od-win32/win32.cpp @@ -1029,6 +1029,20 @@ int isfocus (void) return 0; } +static void activationtoggle (bool inactiveonly) +{ + if (isfullscreen () > 0) + minimizewindow (); + if (isfullscreen () < 0 && currprefs.win32_minimize_inactive) + minimizewindow (); + if (mouseactive) { + setmouseactive (0); + } else { + if (!inactiveonly) + setmouseactive (1); + } +} + static void handleXbutton (WPARAM wParam, int updown) { int b = GET_XBUTTON_WPARAM (wParam); @@ -1152,14 +1166,7 @@ static LRESULT CALLBACK AmigaWindowProc (HWND hWnd, UINT message, WPARAM wParam, case WM_MBUTTONDOWN: case WM_MBUTTONDBLCLK: if (currprefs.win32_middle_mouse) { -#ifndef _DEBUG - if (isfullscreen () > 0) - minimizewindow (); -#endif - if (isfullscreen () < 0 && currprefs.win32_minimize_inactive) - minimizewindow (); - if (mouseactive) - setmouseactive (0); + activationtoggle(true); } else { if (dinput_winmouse () >= 0 && isfocus () > 0) setmousebuttonstate (dinput_winmouse (), 2, 1); @@ -2290,7 +2297,6 @@ HMODULE language_load (WORD language) #if LANG_DLL > 0 TCHAR dllbuf[MAX_DPATH]; TCHAR *dllname; - bool nosubrev = false; if (language <= 0) { /* new user-specific Windows ME/2K/XP method to get UI language */ @@ -2325,7 +2331,7 @@ HMODULE language_load (WORD language) if (vsFileInfo && HIWORD(vsFileInfo->dwProductVersionMS) == UAEMAJOR && LOWORD(vsFileInfo->dwProductVersionMS) == UAEMINOR - && (nosubrev || (HIWORD(vsFileInfo->dwProductVersionLS) == UAESUBREV))) { + && (!LANG_DLL_FULL_VERSION_MATCH || (HIWORD(vsFileInfo->dwProductVersionLS) == UAESUBREV))) { success = TRUE; write_log (_T("Translation DLL '%s' loaded and enabled\n"), dllbuf); } else { @@ -2423,6 +2429,7 @@ int debuggable (void) void toggle_mousegrab (void) { + activationtoggle(false); } @@ -2597,8 +2604,23 @@ void fullpath (TCHAR *path, int size) return; if (_tcslen(tmp1) > 2 && _tcsnicmp(tmp1, tmp2, 3) == 0 && tmp1[1] == ':' && tmp1[2] == '\\') { // same drive letter - if (PathRelativePathTo(path, tmp1, FILE_ATTRIBUTE_DIRECTORY, tmp2, tmp2[_tcslen(tmp2) - 1] == '\\' ? FILE_ATTRIBUTE_DIRECTORY : 0)) + path[0] = 0; + if (PathRelativePathTo(path, tmp1, FILE_ATTRIBUTE_DIRECTORY, tmp2, tmp2[_tcslen(tmp2) - 1] == '\\' ? FILE_ATTRIBUTE_DIRECTORY : 0)) { + if (path[0]) { + if (path[0] == '.' && path[1] == 0) { + _tcscpy(path, _T(".\\")); + } else if (path[0] == '\\') { + _tcscpy(tmp1, path + 1); + _stprintf(path, _T(".\\%s"), tmp1); + } else if (path[0] != '.') { + _tcscpy(tmp1, path); + _stprintf(path, _T(".\\%s"), tmp1); + } + } else { + _tcscpy (path, tmp2); + } goto done; + } } if (_tcsnicmp (tmp1, tmp2, _tcslen (tmp1)) == 0) { // tmp2 is inside tmp1 diff --git a/od-win32/win32.h b/od-win32/win32.h index 4cb2e908..f670f1ae 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -17,13 +17,14 @@ #define WINUAEPUBLICBETA 1 #define LANG_DLL 1 +#define LANG_DLL_FULL_VERSION_MATCH 0 #if WINUAEPUBLICBETA -#define WINUAEBETA _T("3") +#define WINUAEBETA _T("4") #else #define WINUAEBETA _T("") #endif -#define WINUAEDATE MAKEBD(2014, 5, 29) +#define WINUAEDATE MAKEBD(2014, 5, 31) #define WINUAEEXTRA _T("") //#define WINUAEEXTRA _T("AmiKit Preview") //#define WINUAEEXTRA _T("Amiga Forever Edition") diff --git a/od-win32/winuaechangelog.txt b/od-win32/winuaechangelog.txt index 53925317..5373834a 100644 --- a/od-win32/winuaechangelog.txt +++ b/od-win32/winuaechangelog.txt @@ -18,6 +18,14 @@ Things that may happen in 2015: - restore only single input target to default. +Beta 4: + +- New relative path mode worked badly under Windows XP, possibly up to Windows 7 without SP1. +- "Toggle between mouse grabbed and un-grabbed" input event has not done anything at all for ages (if ever). +- "Switch between audio interpolation methods" input event probably has never done anything at all, probably + totally useless (custom events works as well) but at least it works now.. +- 2.8.0 translation dlls are accepted now. + Beta 3: - Do not show "hpos = 256!?" error dialog if something writes very bad values to programmed display