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,
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,
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);
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);
#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 */
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 {
void toggle_mousegrab (void)
{
+ activationtoggle(false);
}
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
#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")
- 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