]> git.unchartedbackwaters.co.uk Git - francis/winuae.git/commitdiff
5310b1
authorToni Wilen <twilen@winuae.net>
Sun, 15 Sep 2024 16:37:02 +0000 (19:37 +0300)
committerToni Wilen <twilen@winuae.net>
Sun, 15 Sep 2024 16:37:02 +0000 (19:37 +0300)
include/options.h
od-win32/parser.cpp
od-win32/rp.cpp
od-win32/statusline_win32.cpp
od-win32/win32.h
od-win32/win32_scaler.cpp
od-win32/win32gui.cpp

index 7eb67c8cce325d1cd73cb2463da9f2c937708541..d79301460bc14d5ac73c23b1f4c22bb91930160f 100644 (file)
@@ -16,7 +16,7 @@
 
 #define UAEMAJOR 5
 #define UAEMINOR 3
-#define UAESUBREV 0
+#define UAESUBREV 1
 
 #define MAX_AMIGADISPLAYS 4
 
index d18da23dc70aba1457a7fb59eb43e56040ea3a68..d914d049ddad707a3ba9889a918529e6579f303b 100644 (file)
@@ -369,6 +369,16 @@ static void DoSomeWeirdPrintingStuff (uae_char val)
        }
        if (prtbufbytes < PRTBUFSIZE) {
                prtbuf[prtbufbytes++] = val;
+
+#ifdef RETROPLATFORM
+               if (rp_isprinter() &&
+                       !currprefs.parallel_postscript_emulation &&
+                       currprefs.parallel_matrix_emulation < PARALLEL_MATRIX_EPSON &&
+                       (rp_isprinteropen() || prtbufbytes >= MIN_PRTBYTES)) {
+
+                       flushprtbuf();
+               }
+#endif
        } else {
                flushprtbuf ();
                *prtbuf = val;
index 4d5c896f625b785db2e2521b1bf7735220ce7f11..e6de3c6377854cb393095b3d0f33df6f46cfc153 100644 (file)
@@ -910,7 +910,7 @@ static void set_screenmode (struct RPScreenMode *sm, struct uae_prefs *p)
        int hres, vres;
        float hmult = 1, vmult = 1;
        struct MultiDisplay *disp;
-       bool keepaspect = (sm->dwScreenMode & RP_SCREENMODE_SCALING_SUBPIXEL) && !(sm->dwScreenMode & RP_SCREENMODE_SCALING_STRETCH);
+       bool keepaspect = !(sm->dwScreenMode & RP_SCREENMODE_SCALING_STRETCH);
        bool stretch = (sm->dwScreenMode & RP_SCREENMODE_SCALING_STRETCH) != 0;
        bool forcesize = smm == RP_SCREENMODE_SCALE_TARGET && sm->lTargetWidth > 0 && sm->lTargetHeight > 0;
        bool integerscale = !(sm->dwScreenMode & RP_SCREENMODE_SCALING_SUBPIXEL) && !(sm->dwScreenMode & RP_SCREENMODE_SCALING_STRETCH) && smm >= RP_SCREENMODE_SCALE_TARGET;
@@ -1129,9 +1129,11 @@ static void set_screenmode (struct RPScreenMode *sm, struct uae_prefs *p)
 
                if (keepaspect) {
                        p->gf[0].gfx_filter_aspect = -1;
+                       p->gf[0].gfx_filter_keep_autoscale_aspect = 1;
                        p->gf[0].gfx_filter_keep_aspect = 1;
                } else {
                        p->gf[0].gfx_filter_aspect = 0;
+                       p->gf[0].gfx_filter_keep_autoscale_aspect = 0;
                        p->gf[0].gfx_filter_keep_aspect = 0;
                }
 
@@ -2583,7 +2585,10 @@ void rp_writeprinter(uae_char *b, int len)
                RPSendMessagex(RP_IPC_TO_HOST_DEVICEOPEN, unit, 0, NULL, 0, &guestinfo, NULL);
                rp_printeropen = 1;
        }
-       RPSendMessagex(RP_IPC_TO_HOST_DEVICEWRITEBYTES, unit, 0, b, len, &guestinfo, NULL);
+       if (len == 1)
+               RPSendMessagex(RP_IPC_TO_HOST_DEVICEWRITEBYTE, unit, (LPARAM)*b & 0xFF, 0, 0, &guestinfo, NULL);
+       else
+               RPSendMessagex(RP_IPC_TO_HOST_DEVICEWRITEBYTES, unit, 0, b, len, &guestinfo, NULL);
 }
 
 void rp_test(void)
index 5e5ec4fa18878696fe5b72e09683466c18eb42e4..540d434cda8ce626ba4f5e7c198e1dadf04e0e17 100644 (file)
@@ -210,8 +210,8 @@ static void create_led_font(HWND parent, int monid)
 
        hdc = CreateCompatibleDC(NULL);
        if (hdc) {
-               int y = getdpiforwindow(parent);
                if (isfullscreen() <= 0) {
+                       int y = getdpiforwindow(parent);
                        statusline_fontsize = -MulDiv(statusline_fontsize, y, 72);
                }
                statusline_fontsize = statusline_fontsize * statusline_get_multiplier(monid) / 100;
index 3ea67c249782b6d35ab757440d1a0e75052dc12c..274a08711af86f7a9af8623dc24e9d62e878e60f 100644 (file)
 #define GETBDM(x) (((x) - ((x / 10000) * 10000)) / 100)
 #define GETBDD(x) ((x) % 100)
 
-#define WINUAEPUBLICBETA 0
+#define WINUAEPUBLICBETA 1
 #define LANG_DLL 1
 #define LANG_DLL_FULL_VERSION_MATCH 0
 
 #if WINUAEPUBLICBETA
-#define WINUAEBETA _T("")
+#define WINUAEBETA _T("1")
 #else
 #define WINUAEBETA _T("")
 #endif
 
-#define WINUAEDATE MAKEBD(2024, 6, 1)
+#define WINUAEDATE MAKEBD(2024, 9, 15)
 
 //#define WINUAEEXTRA _T("AmiKit Preview")
 //#define WINUAEEXTRA _T("Amiga Forever Edition")
index 1ff5d6adcd924a470666a781d0d692b407bd0e34..cd5918f1447b05beb1756e03252997836eb91948 100644 (file)
@@ -416,6 +416,7 @@ void getfilterrect2(int monid, RECT *sr, RECT *dr, RECT *zr, int dst_width, int
                                }
                                if (scalemode == AUTOSCALE_INTEGER || ok == false) {
                                        getmanualpos(monid, &cx, &cy, &cw, &ch);
+                                       crealh = ch;
                                        set_custom_limits(cw, ch, cx, cy, true);
                                        store_custom_limits(cw, ch, cx, cy);
                                        scl = true;
@@ -502,6 +503,7 @@ void getfilterrect2(int monid, RECT *sr, RECT *dr, RECT *zr, int dst_width, int
 
                        //write_log (_T("%dx%d %dx%d %dx%d\n"), currprefs.gfx_xcenter_pos, currprefs.gfx_ycenter_pos, cx, cy, cw, ch);
 
+                       crealh = ch;
                        cv = 1;
 
                } else if (scalemode == AUTOSCALE_CENTER) {
index 36cd8195d57c30fff6cb16d43f3d1577024139eb..038ad316aa91031b85358851893434f7de55a81b 100644 (file)
@@ -23633,17 +23633,19 @@ static int GetSettings (int all_options, HWND hwnd)
                        }
                        
                        for (;;) {
-                               HANDLE IPChandle;
-                               IPChandle = geteventhandleIPC (globalipc);
-                               if (globalipc && IPChandle != INVALID_HANDLE_VALUE) {
-                                       MsgWaitForMultipleObjects (1, &IPChandle, FALSE, INFINITE, QS_ALLINPUT);
-                                       while (checkIPC (globalipc, &workprefs));
-                                       if (quit_program == -UAE_QUIT)
-                                               break;
-                               } else {
-                                       WaitMessage ();
+                               if (!PeekMessage(&msg, NULL, 0, 0, 0)) {
+                                       HANDLE IPChandle;
+                                       IPChandle = geteventhandleIPC(globalipc);
+                                       if (globalipc && IPChandle != INVALID_HANDLE_VALUE) {
+                                               MsgWaitForMultipleObjects(1, &IPChandle, FALSE, INFINITE, QS_ALLINPUT);
+                                               while (checkIPC(globalipc, &workprefs));
+                                               if (quit_program == -UAE_QUIT)
+                                                       break;
+                                       } else {
+                                               WaitMessage();
+                                       }
                                }
-                               dialogmousemove (dhwnd);
+                               dialogmousemove(dhwnd);
 
                                while ((v = PeekMessage (&msg, NULL, 0, 0, PM_REMOVE))) {
                                        if (dialogreturn >= 0)