diff --git a/od-win32/resources/winuae_minimal.rc b/od-win32/resources/winuae_minimal.rc index 646fb5c2..5d2f5fe3 100644 --- a/od-win32/resources/winuae_minimal.rc +++ b/od-win32/resources/winuae_minimal.rc @@ -521,10 +521,10 @@ BEGIN CONTROL "Stereo sampler",IDC_SAMPLER_STEREO,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,68,122,149,12 GROUPBOX "Serial Port",IDC_STATIC,1,145,393,66 COMBOBOX IDC_SERIAL,67,158,317,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Shared",IDC_SER_SHARED,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,25,179,66,12 - CONTROL "Host RTS/CTS",IDC_SER_CTSRTS,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,107,179,66,12 + CONTROL "Shared",IDC_SER_SHARED,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,25,179,75,12 + CONTROL "Host RTS/CTS",IDC_SER_CTSRTS,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,107,179,67,12 CONTROL "Direct []Use when emulating serial-link games on two PCs running WinUAE",IDC_SER_DIRECT, - "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,182,179,83,12 + "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,182,179,103,12 CONTROL "uaeserial.device",IDC_UAESERIAL,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,292,179,94,12 GROUPBOX "MIDI",IDC_STATIC,1,213,393,54,BS_LEFT RTEXT "Out:",IDC_MIDI,22,224,32,15,SS_CENTERIMAGE @@ -535,7 +535,7 @@ BEGIN GROUPBOX "Protection Dongle",IDC_STATIC,1,274,393,41,BS_LEFT COMBOBOX IDC_DONGLELIST,58,292,232,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Serial status (RTS/CTS/DTR/DTE/CD)",IDC_SER_RTSCTSDTRDTECD, - "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,25,192,162,12 + "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,25,192,149,12 CONTROL "Serial status: Ring Indicator",IDC_SER_RI,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,182,192,202,12 END @@ -1431,8 +1431,8 @@ END // VS_VERSION_INFO VERSIONINFO - FILEVERSION 5,2,0,0 - PRODUCTVERSION 5,2,0,0 + FILEVERSION 5,3,0,0 + PRODUCTVERSION 5,3,0,0 FILEFLAGSMASK 0x3fL #ifdef _DEBUG FILEFLAGS 0x1L @@ -1448,12 +1448,12 @@ BEGIN BLOCK "040904b0" BEGIN VALUE "FileDescription", "WinUAE" - VALUE "FileVersion", "5.2.0.0" + VALUE "FileVersion", "5.3.0.0" VALUE "InternalName", "WinUAE" VALUE "LegalCopyright", "© 1996-2024 under the GNU Public License (GPL)" VALUE "OriginalFilename", "WinUAE.exe" VALUE "ProductName", "WinUAE" - VALUE "ProductVersion", "5.2.0.0" + VALUE "ProductVersion", "5.3.0.0" END END BLOCK "VarFileInfo" @@ -1550,7 +1550,6 @@ BEGIN END END - ///////////////////////////////////////////////////////////////////////////// // // DESIGNINFO @@ -2150,7 +2149,7 @@ BEGIN IDS_WSTYLE_EXTENDED "Extended" IDS_MISCLISTITEMS1 "Untrap = middle button\nShow GUI on startup\nUse CTRL-F11 to quit\nDon't show taskbar button\nDon't show notification icon\n" IDS_MISCLISTITEMS2 "Main window always on top\nGUI window always on top\nDisable screensaver\nSynchronize clock\nOne second reboot pause\nFaster RTG\nClipboard sharing\nAllow native code\n" - IDS_MISCLISTITEMS3 "Native on-screen display\nRTG on-screen display\nCreate winuaelog.txt log\nLog illegal memory accesses\nBlank unused displays\nStart mouse uncaptured\nStart minimized\nMinimize when focus is lost\nBlack frame insertion\nMaster floppy write protection\nMaster harddrive write protection\nHide all UAE autoconfig boards\nRight Control = Right Windows key\n" + IDS_MISCLISTITEMS3 "Native on-screen display\nRTG on-screen display\nCreate winuaelog.txt log\nLog illegal memory accesses\nBlank unused displays\nStart mouse uncaptured\n" IDS_JOYMODE_WHEELMOUSE "Wheel Mouse" IDS_NUMSG_KS68030PLUS "The selected system ROM requires a 68030 or higher CPU." IDS_SELECTTAPE "Select a Tape directory or archive file..." @@ -2166,7 +2165,7 @@ END STRINGTABLE BEGIN - IDS_MISCLISTITEMS4 "Windows shutdown/logoff notification\nWarn when attempting to close window\nPower led dims when audio filter is disabled\nAutomatically capture mouse when window is activated\nDebug memory space\nForce hard reset if CPU halted\nA600/A1200/A4000 IDE scsi.device disable\nWarp mode reset\nGUI gamepad control\n" + IDS_MISCLISTITEMS4 "Start minimized\nMinimize when focus is lost\nBlack frame insertion\nMaster floppy write protection\nMaster harddrive write protection\n" IDS_SHUTDOWN_NOTIFICATION "Emulation session active" IDS_QUIT_WARNING "Are you sure you want to quit WinUAE?" IDS_UNMAPPED_ADDRESS "Floating\nAll zeros\nAll ones\n" @@ -2215,6 +2214,11 @@ BEGIN IDS_NONE2 "" IDS_SOUND_CLONED71 "Cloned stereo (7.1)" IDS_SOUND_71 "7.1 channels" + IDS_SOUND_FILTER_ON_FIXEDONLY "Always on (Fixed only)" + IDS_MISCLISTITEMS5 "Hide all UAE autoconfig boards\nRight Control = Right Windows key\nWindows shutdown/logoff notification\nWarn when attempting to close window\nPower led dims when audio filter is disabled\nAutomatically capture mouse when window is activated\nDebug memory space\n" + IDS_MISCLISTITEMS6 "Force hard reset if CPU halted\nA600/A1200/A4000 IDE scsi.device disable\nWarp mode reset\nGUI gamepad control\nDefault on screen keyboard (Pad button 4)\n" + IDS_CHOOSE_AUDIO_CODEC "Choose Audio Codec" + IDS_CHOOSE_VIDEO_CODEC "Choose Video Codec" END #endif // English (United Kingdom) resources diff --git a/od-win32/rp.cpp b/od-win32/rp.cpp index cac81b3e..4d5c896f 100644 --- a/od-win32/rp.cpp +++ b/od-win32/rp.cpp @@ -693,7 +693,8 @@ static void fixup_size (struct uae_prefs *prefs) if (done) return; done = 1; - write_log(_T("fixup_size(%d,%d)\n"), prefs->gfx_xcenter_size, prefs->gfx_ycenter_size); + if (log_rp) + write_log(_T("fixup_size(%d,%d)\n"), prefs->gfx_xcenter_size, prefs->gfx_ycenter_size); if (prefs->gfx_xcenter_size > 0) { int hres = prefs->gfx_resolution; if (prefs->gf[0].gfx_filter) { @@ -1584,7 +1585,7 @@ static LRESULT CALLBACK RPHostMsgFunction2 (UINT uMessage, WPARAM wParam, LPARAM int device = LOBYTE(wParam); if (device == RP_DEVICECATEGORY_FLOPPY) { int num = HIBYTE(wParam); - if (lParam == RP_DEVICE_READONLY || lParam == RP_DEVICE_READWRITE) { + if ((lParam == RP_DEVICE_READONLY || lParam == RP_DEVICE_READWRITE) && num >= 0 && num <= 4) { ret = disk_setwriteprotect (&currprefs, num, currprefs.floppyslots[num].df, lParam == RP_DEVICE_READONLY); if (ret) DISK_reinsert(num); @@ -1597,7 +1598,7 @@ static LRESULT CALLBACK RPHostMsgFunction2 (UINT uMessage, WPARAM wParam, LPARAM case RP_IPC_TO_GUEST_QUERYSCREENMODE: { screenmode_request = 1; - //write_log (_T("RP_IPC_TO_GUEST_QUERYSCREENMODE -> RP_IPC_TO_HOST_SCREENMODE screenmode_request started\n")); + write_log (_T("RP_IPC_TO_GUEST_QUERYSCREENMODE -> RP_IPC_TO_HOST_SCREENMODE screenmode_request started\n")); return 1; } case RP_IPC_TO_GUEST_GUESTAPIVERSION: @@ -2254,8 +2255,16 @@ void rp_turbo_floppy (int active) void rp_set_hwnd_delayed (void) { - hwndset_delay = 4; - //write_log (_T("RP_IPC_TO_HOST_SCREENMODE delay started\n")); + struct amigadisplay *ad = &adisplays[0]; + hwndset_delay = 3; + int idx = ad->gf_index; + if (currprefs.gf[idx].gfx_filter_autoscale == AUTOSCALE_RESIZE) { + hwndset_delay += 10; + } + if (log_rp) + write_log (_T("RP_IPC_TO_HOST_SCREENMODE delay started (%d)\n"), hwndset_delay); + + screenmode_request = 0; } void rp_set_hwnd (HWND hWnd) @@ -2265,10 +2274,15 @@ void rp_set_hwnd (HWND hWnd) if (!initialized) return; if (hwndset_delay) { - //write_log (_T("RP_IPC_TO_HOST_SCREENMODE, delay=%d\n"), hwndset_delay); - return; + if (hWnd) { + if (log_rp) + write_log (_T("RP_IPC_TO_HOST_SCREENMODE, delay=%d\n"), hwndset_delay); + return; + } + hwndset_delay = 0; } - //write_log (_T("RP_IPC_TO_HOST_SCREENMODE\n")); + if (log_rp) + write_log (_T("RP_IPC_TO_HOST_SCREENMODE\n")); guestwindow = hWnd; get_screenmode (&sm, &currprefs, false); if (hWnd != NULL) @@ -2278,10 +2292,12 @@ void rp_set_hwnd (HWND hWnd) void rp_screenmode_changed (void) { - //write_log (_T("rp_screenmode_changed\n")); - if (!screenmode_request) { + if (log_rp) + write_log (_T("rp_screenmode_changed\n")); + if (!screenmode_request && !hwndset_delay) { screenmode_request = 6; - //write_log (_T("rp_screenmode_changed -> screenmode_request started\n")); + if (log_rp) + write_log (_T("rp_screenmode_changed -> screenmode_request started\n")); } } @@ -2315,6 +2331,8 @@ void rp_vsync(void) if (x != rp_prev_x || y != rp_prev_y || w != rp_prev_w || h != rp_prev_h) { screenmode_request = 6; + if (log_rp) + write_log(_T("screenmode_request = %d\n"), screenmode_request); rp_prev_x = x; rp_prev_y = y; rp_prev_w = w; @@ -2331,14 +2349,18 @@ void rp_vsync(void) } if (hwndset_delay > 0) { hwndset_delay--; - if (hwndset_delay == 0) + if (hwndset_delay == 0) { + if (log_rp) + write_log(_T("rp_set_hwnd delay expired\n")); rp_set_hwnd(mon->hAmigaWnd); + } } if (screenmode_request) { screenmode_request--; if (screenmode_request == 0) { - //write_log (_T("RP_IPC_TO_HOST_SCREENMODE screenmode_request timeout\n")); + if (log_rp) + write_log (_T("RP_IPC_TO_HOST_SCREENMODE screenmode_request expired\n")); struct RPScreenMode sm = { 0 }; get_screenmode (&sm, &currprefs, true); RPSendMessagex (RP_IPC_TO_HOST_SCREENMODE, 0, 0, &sm, sizeof sm, &guestinfo, NULL); @@ -2511,10 +2533,12 @@ void rp_modemstate(int state) } WPARAM unit = MAKEWORD(RP_DEVICECATEGORY_MODEM, 0); if (state) { - write_log(_T("RP: modem open\n")); + if (log_rp) + write_log(_T("RP: modem open\n")); RPSendMessagex(RP_IPC_TO_HOST_DEVICEOPEN, unit, 0, NULL, 0, &guestinfo, NULL); } else { - write_log(_T("RP: modem close\n")); + if (log_rp) + write_log(_T("RP: modem close\n")); RPSendMessagex(RP_IPC_TO_HOST_DEVICECLOSE, unit, 0, NULL, 0, &guestinfo, NULL); } rp_modemopen = state; @@ -2546,14 +2570,16 @@ void rp_writeprinter(uae_char *b, int len) WPARAM unit = MAKEWORD(RP_DEVICECATEGORY_PRINTER, 0); if (!b) { if (rp_printeropen) { - write_log(_T("RP: printer close\n")); + if (log_rp) + write_log(_T("RP: printer close\n")); RPSendMessagex(RP_IPC_TO_HOST_DEVICECLOSE, unit, 0, NULL, 0, &guestinfo, NULL); } rp_printeropen = 0; return; } if (!rp_printeropen) { - write_log(_T("RP: printer open\n")); + if (log_rp) + write_log(_T("RP: printer open\n")); RPSendMessagex(RP_IPC_TO_HOST_DEVICEOPEN, unit, 0, NULL, 0, &guestinfo, NULL); rp_printeropen = 1; } diff --git a/od-win32/win32.h b/od-win32/win32.h index 2720edef..3ea67c24 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -20,12 +20,12 @@ #define LANG_DLL_FULL_VERSION_MATCH 0 #if WINUAEPUBLICBETA -#define WINUAEBETA _T("10") +#define WINUAEBETA _T("") #else #define WINUAEBETA _T("") #endif -#define WINUAEDATE MAKEBD(2024, 5, 27) +#define WINUAEDATE MAKEBD(2024, 6, 1) //#define WINUAEEXTRA _T("AmiKit Preview") //#define WINUAEEXTRA _T("Amiga Forever Edition") diff --git a/od-win32/win32gfx.cpp b/od-win32/win32gfx.cpp index 841aac60..a5d305c6 100644 --- a/od-win32/win32gfx.cpp +++ b/od-win32/win32gfx.cpp @@ -3049,7 +3049,7 @@ void gfx_set_picasso_state(int monid, int on) } end: #ifdef RETROPLATFORM - rp_set_hwnd (mon->hAmigaWnd); + rp_set_hwnd_delayed(); #endif } @@ -3087,7 +3087,7 @@ void gfx_set_picasso_modeinfo(int monid, RGBFTYPE rgbfmt) } state->ModeChanged = false; #ifdef RETROPLATFORM - rp_set_hwnd(mon->hAmigaWnd); + rp_set_hwnd_delayed(); #endif target_graphics_buffer_update(monid, false); } diff --git a/od-win32/wix/Product.wxs b/od-win32/wix/Product.wxs index 3d9cef88..5e8ceb1d 100644 --- a/od-win32/wix/Product.wxs +++ b/od-win32/wix/Product.wxs @@ -2,8 +2,8 @@ - - + +