]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
2810b4
authorToni Wilen <twilen@winuae.net>
Sat, 31 May 2014 13:51:58 +0000 (16:51 +0300)
committerToni Wilen <twilen@winuae.net>
Sat, 31 May 2014 13:51:58 +0000 (16:51 +0300)
inputdevice.cpp
od-win32/rp.cpp
od-win32/win32.cpp
od-win32/win32.h
od-win32/winuaechangelog.txt

index 443ca31e7b0f13bd815ee2e0d73ec640d2003cbe..3da3c42ff59ee2cd35cae1167da08b77083a751e 100644 (file)
@@ -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;
index 7c55bc71da69767ad67fbaec3de9713619222bf4..863389edbd62a9006487b9f0231c65cb991e6acd 100644 (file)
@@ -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,
index 0e3be09dfb99fda668a69fe2bae18d74bfd999e7..28924989aea997cada044bf7b293777e7121967c 100644 (file)
@@ -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
index 4cb2e908e101979b6d6db0384cf903d267ed7eb7..f670f1ae80bc8e135628ce006f898452c21c3fd2 100644 (file)
 
 #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")
index 53925317988d81319b50c5a222880f708ec22949..5373834a1fbed7017d98de6fee834882acc963fc 100644 (file)
@@ -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