From b8091377629d4d0e929490470be7da702197f67f Mon Sep 17 00:00:00 2001 From: Toni Wilen Date: Sun, 27 Oct 2019 14:01:29 +0200 Subject: [PATCH] GUI scaling update. --- od-win32/debug_win32.cpp | 4 +- od-win32/resources/resource.h | 1 - od-win32/resources/winuae.rc | 1180 ++++++++++++++++----------------- od-win32/win32.cpp | 35 + od-win32/win32.h | 2 + od-win32/win32gfx.cpp | 35 - od-win32/win32gui.cpp | 235 +++++-- od-win32/win32gui.h | 72 +- od-win32/win32gui_extra.cpp | 1043 ++++++++++++++++++++++------- 9 files changed, 1663 insertions(+), 944 deletions(-) diff --git a/od-win32/debug_win32.cpp b/od-win32/debug_win32.cpp index 0af3d5bb..aa8d0cc7 100644 --- a/od-win32/debug_win32.cpp +++ b/od-win32/debug_win32.cpp @@ -2057,9 +2057,9 @@ int open_debug_window(void) dbgaccel = LoadAccelerators(hUIDLL ? hUIDLL : hInst, MAKEINTRESOURCE (IDR_DBGACCEL)); nr = getresource(IDD_DEBUGGER); if (nr) { - hDbgWnd = CreateDialogIndirect (nr->inst, nr->resource, NULL, DebuggerProc); - freescaleresource(nr); + hDbgWnd = CreateDialogIndirect (nr->inst, nr->sourceresource, NULL, DebuggerProc); } + freescaleresource(nr); debuggerinitializing = FALSE; if (!hDbgWnd) return 0; diff --git a/od-win32/resources/resource.h b/od-win32/resources/resource.h index 63c8f85d..61f18420 100644 --- a/od-win32/resources/resource.h +++ b/od-win32/resources/resource.h @@ -615,7 +615,6 @@ #define IDC_GUI_FONT 1288 #define IDC_GUI_DEFAULT 1289 #define IDC_INFO1 1289 -#define IDC_GUI_LISTFONT 1290 #define IDC_INFO2 1290 #define IDC_INFO3 1291 #define IDC_GUI_LVDEFAULT 1291 diff --git a/od-win32/resources/winuae.rc b/od-win32/resources/winuae.rc index 248fe876..add39b21 100644 --- a/od-win32/resources/winuae.rc +++ b/od-win32/resources/winuae.rc @@ -1,13 +1,14 @@ // Microsoft Visual C++ generated resource script. // -#include "winres.h" +#pragma code_page(65001) + #include "resource.h" +#include "winres.h" ///////////////////////////////////////////////////////////////////////////// // English (United Kingdom) resources #if !defined(AFX_RESOURCE_DLL) || defined(AFX_TARG_ENG) LANGUAGE LANG_ENGLISH, SUBLANG_ENGLISH_UK -#pragma code_page(1252) ///////////////////////////////////////////////////////////////////////////// // @@ -102,163 +103,163 @@ END // Dialog // -IDD_BOARDS DIALOGEX 0, 0, 396, 259 +IDD_BOARDS DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD EXSTYLE WS_EX_CONTEXTHELP FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - CONTROL "",IDC_BOARDLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,2,18,390,220 - CONTROL "Custom board order",IDC_AUTOCONFIGCUSTOMSORT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,2,242,99,12 - PUSHBUTTON "Move up",IDC_BOARDS_UP,114,241,78,14 - PUSHBUTTON "Move down",IDC_BOARDS_DOWN,203,241,78,14 + CONTROL "",IDC_BOARDLIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,2,36,390,220 + CONTROL "Custom board order",IDC_AUTOCONFIGCUSTOMSORT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,2,260,99,12 + PUSHBUTTON "Move up",IDC_BOARDS_UP,114,259,78,14 + PUSHBUTTON "Move down",IDC_BOARDS_DOWN,203,259,78,14 END -IDD_KICKSTART DIALOGEX 0, 0, 396, 305 +IDD_KICKSTART DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD EXSTYLE WS_EX_CONTEXTHELP FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "System ROM Settings",IDC_STATIC,1,0,394,89 - LTEXT "Main ROM file:",IDC_ROMTEXT,14,13,263,10 - COMBOBOX IDC_ROMFILE,12,25,361,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_KICKCHOOSER,376,25,10,15 - LTEXT "Extended ROM file:",IDC_ROMFILE2TEXT,14,42,263,10 - COMBOBOX IDC_ROMFILE2,12,54,361,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_ROMCHOOSER2,376,55,10,15 + GROUPBOX "System ROM Settings",IDC_STATIC,1,5,394,89 + LTEXT "Main ROM file:",IDC_ROMTEXT,14,18,263,10 + COMBOBOX IDC_ROMFILE,12,30,361,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "...",IDC_KICKCHOOSER,376,30,10,15 + LTEXT "Extended ROM file:",IDC_ROMFILE2TEXT,14,47,263,10 + COMBOBOX IDC_ROMFILE2,12,59,361,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "...",IDC_ROMCHOOSER2,376,60,10,15 CONTROL "MapROM emulation [] Creates a BlizKick-compatible memory area.",IDC_MAPROM, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,87,72,104,12 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,87,77,104,12 CONTROL "ShapeShifter support [] Patches the system ROM for ShapeShifter compatibility.",IDC_KICKSHIFTER, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,72,106,13 - GROUPBOX "Miscellaneous",IDC_STATIC,0,157,395,109 - LTEXT "Cartridge ROM file:",IDC_FLASHTEXT2,12,172,265,10 - COMBOBOX IDC_CARTFILE,12,185,361,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_CARTCHOOSER,376,185,10,15 - LTEXT "Flash RAM or A2286/A2386SX BIOS CMOS RAM file:",IDC_FLASHTEXT,12,202,265,10 - EDITTEXT IDC_FLASHFILE,12,214,361,12,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_FLASHCHOOSER,376,213,10,15 - LTEXT "Real Time Clock file",IDC_STATIC,12,228,313,15,SS_CENTERIMAGE - EDITTEXT IDC_RTCFILE,12,244,361,12,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_RTCCHOOSER,376,243,10,15 - GROUPBOX "Advanced UAE expansion board/Boot ROM Settings",IDC_STATIC,0,269,395,36 - COMBOBOX IDC_UAEBOARD_TYPE,96,284,155,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Board type:",IDC_STATIC,20,282,67,15,SS_CENTERIMAGE - RTEXT "Address range",IDC_STATIC,158,110,54,15,SS_CENTERIMAGE - EDITTEXT IDC_ROM_ADDRESS,219,110,79,13,ES_AUTOHSCROLL - EDITTEXT IDC_ROM_ADDRESS2,306,110,79,13,ES_AUTOHSCROLL - COMBOBOX IDC_CUSTOMROMSELECT,12,110,135,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Advanced Custom ROM Settings",IDC_STATIC,0,93,394,59 - EDITTEXT IDC_CUSTOMROMFILE,12,130,361,12,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_CUSTOMROMCHOOSER,376,127,10,15 -END - -IDD_DISPLAY DIALOGEX 0, 0, 396, 311 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,195,77,106,13 + GROUPBOX "Miscellaneous",IDC_STATIC,0,162,395,109 + LTEXT "Cartridge ROM file:",IDC_FLASHTEXT2,12,177,265,10 + COMBOBOX IDC_CARTFILE,12,190,361,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | CBS_SORT | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "...",IDC_CARTCHOOSER,376,190,10,15 + LTEXT "Flash RAM or A2286/A2386SX BIOS CMOS RAM file:",IDC_FLASHTEXT,12,207,265,10 + EDITTEXT IDC_FLASHFILE,12,219,361,12,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_FLASHCHOOSER,376,218,10,15 + LTEXT "Real Time Clock file",IDC_STATIC,12,233,313,15,SS_CENTERIMAGE + EDITTEXT IDC_RTCFILE,12,249,361,12,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_RTCCHOOSER,376,248,10,15 + GROUPBOX "Advanced UAE expansion board/Boot ROM Settings",IDC_STATIC,0,274,395,36 + COMBOBOX IDC_UAEBOARD_TYPE,96,289,155,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Board type:",IDC_STATIC,20,287,67,15,SS_CENTERIMAGE + RTEXT "Address range",IDC_STATIC,158,115,54,15,SS_CENTERIMAGE + EDITTEXT IDC_ROM_ADDRESS,219,115,79,13,ES_AUTOHSCROLL + EDITTEXT IDC_ROM_ADDRESS2,306,115,79,13,ES_AUTOHSCROLL + COMBOBOX IDC_CUSTOMROMSELECT,12,115,135,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Advanced Custom ROM Settings",IDC_STATIC,0,98,394,59 + EDITTEXT IDC_CUSTOMROMFILE,12,135,361,12,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_CUSTOMROMCHOOSER,376,132,10,15 +END + +IDD_DISPLAY DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Screen",IDC_SCREENRESTEXT,1,0,393,81,BS_LEFT - COMBOBOX IDC_DISPLAYSELECT,10,13,375,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "Fullscreen:",IDC_STATIC,3,31,51,15,SS_CENTERIMAGE - COMBOBOX IDC_RESOLUTION,59,31,76,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_RESOLUTIONDEPTH,144,31,62,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_REFRESHRATE,288,32,97,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "Windowed:",IDC_STATIC,2,48,51,15,SS_CENTERIMAGE - EDITTEXT IDC_XSIZE,59,50,43,12,ES_NUMBER - EDITTEXT IDC_YSIZE,110,50,43,12,ES_NUMBER - COMBOBOX IDC_DISPLAY_BUFFERCNT,288,50,97,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Settings",IDC_SETTINGSTEXT,1,86,283,183 - RTEXT "Native:",IDC_STATIC,18,98,32,15,SS_CENTERIMAGE - COMBOBOX IDC_SCREENMODE_NATIVE,54,98,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_SCREENMODE_NATIVE2,131,98,108,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "RTG:",IDC_STATIC,19,115,31,15,SS_CENTERIMAGE - COMBOBOX IDC_SCREENMODE_RTG,54,118,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_SCREENMODE_RTG2,131,118,107,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Screen",IDC_SCREENRESTEXT,1,4,393,81,BS_LEFT + COMBOBOX IDC_DISPLAYSELECT,10,17,375,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Fullscreen:",IDC_STATIC,3,35,51,15,SS_CENTERIMAGE + COMBOBOX IDC_RESOLUTION,59,35,76,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RESOLUTIONDEPTH,144,35,62,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_REFRESHRATE,288,36,97,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Windowed:",IDC_STATIC,2,52,51,15,SS_CENTERIMAGE + EDITTEXT IDC_XSIZE,59,54,43,12,ES_NUMBER + EDITTEXT IDC_YSIZE,110,54,43,12,ES_NUMBER + COMBOBOX IDC_DISPLAY_BUFFERCNT,288,54,97,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Settings",IDC_SETTINGSTEXT,1,90,283,183 + RTEXT "Native:",IDC_STATIC,18,102,32,15,SS_CENTERIMAGE + COMBOBOX IDC_SCREENMODE_NATIVE,54,102,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SCREENMODE_NATIVE2,131,102,108,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "RTG:",IDC_STATIC,19,119,31,15,SS_CENTERIMAGE + COMBOBOX IDC_SCREENMODE_RTG,54,122,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SCREENMODE_RTG2,131,122,107,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP CONTROL "Blacker than black [] Borderblanked black is blacker than display area black.",IDC_BLACKER_THAN_BLACK, - "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,11,140,139,10 + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,11,144,139,10 CONTROL "Filtered low resolution [] When scaling hires to lores or superhires to hires, show average color of pixel instead of dropping every other pixel.",IDC_LORES_SMOOTHED, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,155,140,123,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,155,144,123,10 CONTROL "Remove interlace artifacts [] Emulates interlace mode internally as progressive, removing all interlace artifacts. Not compatible with all software.",IDC_FLICKERFIXER, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,154,139,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,158,139,10 CONTROL "VGA mode resolution autoswitch [] Automatically selects between hires and superhires in programmed display modes, keeping correct aspect ratio.",IDC_AUTORESOLUTIONVGA, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,155,154,124,10 - CONTROL "Monochrome video out",IDC_GRAYSCALE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,167,139,10 - RTEXT "Resolution:",IDC_STATIC,24,192,110,8,SS_CENTERIMAGE - COMBOBOX IDC_LORES,142,191,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "Resolution autoswitch:",IDC_STATIC,92,212,110,8,SS_CENTERIMAGE - COMBOBOX IDC_AUTORESOLUTIONSELECT,210,211,59,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "Refresh:",IDC_REFRESHTEXT,11,231,57,8 - CONTROL "Slider1",IDC_FRAMERATE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,226,99,20 - COMBOBOX IDC_RATE2BOX,210,231,60,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "FPS adj.:",IDC_REFRESH2TEXT,9,252,61,8 - CONTROL "",IDC_FRAMERATE2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,247,99,20 - EDITTEXT IDC_RATE2TEXT,210,251,46,12,ES_AUTOHSCROLL - CONTROL "",IDC_RATE2ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,261,252,8,10 - COMBOBOX IDC_DA_MODE,15,276,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "",IDC_DA_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,96,272,96,20 - EDITTEXT IDC_DA_TEXT,205,276,56,12,ES_AUTOHSCROLL | ES_READONLY - PUSHBUTTON "Reset to defaults",IDC_DA_RESET,156,294,106,14 - GROUPBOX "Centering",IDC_STATIC,289,86,105,46 - CONTROL "Horizontal",IDC_XCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,100,90,10 - CONTROL "Vertical",IDC_YCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,116,90,10 - GROUPBOX "Line mode",IDC_STATIC,290,134,104,81 - CONTROL "Single",IDC_LM_NORMAL,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,299,148,90,10 - CONTROL "Double",IDC_LM_DOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,161,90,10 - CONTROL "Scanlines",IDC_LM_SCANLINES,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,174,90,10 - CONTROL "Double, fields",IDC_LM_PDOUBLED2,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,187,90,10 - CONTROL "Double, fields+",IDC_LM_PDOUBLED3,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,200,90,10 - GROUPBOX "Interlaced line mode",IDC_STATIC,290,222,104,70 - CONTROL "Single",IDC_LM_INORMAL,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,299,238,90,10 - CONTROL "Double, frames",IDC_LM_IDOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,251,90,10 - CONTROL "Double, fields",IDC_LM_IDOUBLED2,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,264,90,10 - CONTROL "Double, fields+",IDC_LM_IDOUBLED3,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,277,90,10 - CONTROL "VRR monitor. Do not tick!",IDC_DISPLAY_VARSYNC,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,58,67,112,10 - COMBOBOX IDC_SCREENMODE_NATIVE3,246,98,31,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Window resize",IDC_DISPLAY_RESIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,51,92,10 -END - -IDD_MEMORY DIALOGEX 0, 0, 396, 266 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,155,158,124,10 + CONTROL "Monochrome video out",IDC_GRAYSCALE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,171,139,10 + RTEXT "Resolution:",IDC_STATIC,24,196,110,8,SS_CENTERIMAGE + COMBOBOX IDC_LORES,142,195,127,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Resolution autoswitch:",IDC_STATIC,92,216,110,8,SS_CENTERIMAGE + COMBOBOX IDC_AUTORESOLUTIONSELECT,210,215,59,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Refresh:",IDC_REFRESHTEXT,11,235,57,8 + CONTROL "Slider1",IDC_FRAMERATE,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,230,99,20 + COMBOBOX IDC_RATE2BOX,210,235,60,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "FPS adj.:",IDC_REFRESH2TEXT,9,256,61,8 + CONTROL "",IDC_FRAMERATE2,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,251,99,20 + EDITTEXT IDC_RATE2TEXT,210,255,46,12,ES_AUTOHSCROLL + CONTROL "",IDC_RATE2ENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,261,256,8,10 + COMBOBOX IDC_DA_MODE,15,280,71,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_DA_SLIDER,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,96,276,96,20 + EDITTEXT IDC_DA_TEXT,205,280,56,12,ES_AUTOHSCROLL | ES_READONLY + PUSHBUTTON "Reset to defaults",IDC_DA_RESET,156,298,106,14 + GROUPBOX "Centering",IDC_STATIC,289,90,105,46 + CONTROL "Horizontal",IDC_XCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,104,90,10 + CONTROL "Vertical",IDC_YCENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,120,90,10 + GROUPBOX "Line mode",IDC_STATIC,290,138,104,81 + CONTROL "Single",IDC_LM_NORMAL,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,299,152,90,10 + CONTROL "Double",IDC_LM_DOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,165,90,10 + CONTROL "Scanlines",IDC_LM_SCANLINES,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,178,90,10 + CONTROL "Double, fields",IDC_LM_PDOUBLED2,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,191,90,10 + CONTROL "Double, fields+",IDC_LM_PDOUBLED3,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,204,90,10 + GROUPBOX "Interlaced line mode",IDC_STATIC,290,226,104,70 + CONTROL "Single",IDC_LM_INORMAL,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_GROUP | WS_TABSTOP,299,242,90,10 + CONTROL "Double, frames",IDC_LM_IDOUBLED,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,255,90,10 + CONTROL "Double, fields",IDC_LM_IDOUBLED2,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,268,90,10 + CONTROL "Double, fields+",IDC_LM_IDOUBLED3,"Button",BS_AUTORADIOBUTTON | BS_LEFT | WS_TABSTOP,299,281,90,10 + CONTROL "VRR monitor. Do not tick!",IDC_DISPLAY_VARSYNC,"Button",BS_AUTOCHECKBOX | NOT WS_VISIBLE | WS_TABSTOP,58,71,112,10 + COMBOBOX IDC_SCREENMODE_NATIVE3,246,102,31,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Window resize",IDC_DISPLAY_RESIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,55,92,10 +END + +IDD_MEMORY DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD EXSTYLE WS_EX_CONTEXTHELP FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Memory Settings",IDC_STATIC,1,7,393,117 - RTEXT "Chip:",IDC_STATIC,7,25,60,15,SS_CENTERIMAGE - CONTROL "Slider1",IDC_CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,68,22,60,20 - EDITTEXT IDC_CHIPRAM,135,25,40,12,ES_CENTER | ES_READONLY - RTEXT "Z2 Fast:",IDC_STATIC,8,49,60,15,SS_CENTERIMAGE - CONTROL "Slider1",IDC_FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,68,47,60,20 - EDITTEXT IDC_FASTRAM,135,53,40,12,ES_CENTER | ES_READONLY - RTEXT "Slow:",IDC_STATIC,179,25,66,15,SS_CENTERIMAGE - CONTROL "Slider1",IDC_SLOWMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,22,60,20 - EDITTEXT IDC_SLOWRAM,311,25,40,12,ES_CENTER | ES_READONLY - RTEXT "Z3 Fast:",IDC_STATIC,179,49,66,15,SS_CENTERIMAGE - CONTROL "Slider1",IDC_Z3FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,47,60,20 - EDITTEXT IDC_Z3FASTRAM,311,50,40,12,ES_CENTER | ES_READONLY - RTEXT "32-bit Chip:",IDC_STATIC,180,74,66,15,SS_CENTERIMAGE - CONTROL "",IDC_Z3CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,71,60,20 - EDITTEXT IDC_Z3CHIPRAM,311,76,40,12,ES_CENTER | ES_READONLY - EDITTEXT IDC_MAX32RAM,14,99,366,12,ES_CENTER | ES_READONLY - GROUPBOX "Advanced Memory Settings",IDC_STATIC,1,128,393,137 - COMBOBOX IDC_MEMORYSELECT,14,151,228,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "",IDC_MEMORYMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,253,145,68,20 - EDITTEXT IDC_MEMORYRAM,328,148,40,12,ES_CENTER | ES_READONLY - RTEXT "Manufacturer",IDC_STATIC,12,175,57,15,SS_CENTERIMAGE - EDITTEXT IDC_AUTOCONFIG_MANUFACTURER,78,175,45,13,ES_AUTOHSCROLL - RTEXT "Product",IDC_STATIC,133,175,55,15,SS_CENTERIMAGE - EDITTEXT IDC_AUTOCONFIG_PRODUCT,196,175,45,13,ES_AUTOHSCROLL - RTEXT "Autoconfig data",IDC_STATIC,11,195,57,15,SS_CENTERIMAGE - EDITTEXT IDC_AUTOCONFIG_DATA,78,194,164,13,ES_AUTOHSCROLL - CONTROL "Edit Autoconfig data",IDC_FASTMEMAUTOCONFIGUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,261,177,103,8 - CONTROL "Manual configuration",IDC_FASTMEMNOAUTOCONFIG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,261,195,103,8 - RTEXT "Memory board",IDC_STATIC,15,216,53,15,SS_CENTERIMAGE - COMBOBOX IDC_MEMORYBOARDSELECT,77,216,165,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Z3 mapping mode:",IDC_STATIC,263,215,115,15,SS_CENTERIMAGE - RTEXT "Address range",IDC_STATIC,10,237,57,15,SS_CENTERIMAGE - EDITTEXT IDC_RAM_ADDRESS,77,237,79,13,ES_AUTOHSCROLL - EDITTEXT IDC_RAM_ADDRESS2,164,237,79,13,ES_AUTOHSCROLL - COMBOBOX IDC_Z3MAPPING,262,237,117,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP -END - -IDD_CPU DIALOGEX 0, 0, 396, 317 + GROUPBOX "Memory Settings",IDC_STATIC,1,26,393,117 + RTEXT "Chip:",IDC_STATIC,7,44,60,15,SS_CENTERIMAGE + CONTROL "Slider1",IDC_CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,68,41,60,20 + EDITTEXT IDC_CHIPRAM,135,44,40,12,ES_CENTER | ES_READONLY + RTEXT "Z2 Fast:",IDC_STATIC,8,68,60,15,SS_CENTERIMAGE + CONTROL "Slider1",IDC_FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,68,66,60,20 + EDITTEXT IDC_FASTRAM,135,72,40,12,ES_CENTER | ES_READONLY + RTEXT "Slow:",IDC_STATIC,179,44,66,15,SS_CENTERIMAGE + CONTROL "Slider1",IDC_SLOWMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,41,60,20 + EDITTEXT IDC_SLOWRAM,311,44,40,12,ES_CENTER | ES_READONLY + RTEXT "Z3 Fast:",IDC_STATIC,179,68,66,15,SS_CENTERIMAGE + CONTROL "Slider1",IDC_Z3FASTMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,66,60,20 + EDITTEXT IDC_Z3FASTRAM,311,69,40,12,ES_CENTER | ES_READONLY + RTEXT "32-bit Chip:",IDC_STATIC,180,93,66,15,SS_CENTERIMAGE + CONTROL "",IDC_Z3CHIPMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,248,90,60,20 + EDITTEXT IDC_Z3CHIPRAM,311,95,40,12,ES_CENTER | ES_READONLY + EDITTEXT IDC_MAX32RAM,14,118,366,12,ES_CENTER | ES_READONLY + GROUPBOX "Advanced Memory Settings",IDC_STATIC,1,147,393,137 + COMBOBOX IDC_MEMORYSELECT,14,170,228,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_MEMORYMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,253,164,68,20 + EDITTEXT IDC_MEMORYRAM,328,167,40,12,ES_CENTER | ES_READONLY + RTEXT "Manufacturer",IDC_STATIC,12,194,57,15,SS_CENTERIMAGE + EDITTEXT IDC_AUTOCONFIG_MANUFACTURER,78,194,45,13,ES_AUTOHSCROLL + RTEXT "Product",IDC_STATIC,133,194,55,15,SS_CENTERIMAGE + EDITTEXT IDC_AUTOCONFIG_PRODUCT,196,194,45,13,ES_AUTOHSCROLL + RTEXT "Autoconfig data",IDC_STATIC,11,214,57,15,SS_CENTERIMAGE + EDITTEXT IDC_AUTOCONFIG_DATA,78,213,164,13,ES_AUTOHSCROLL + CONTROL "Edit Autoconfig data",IDC_FASTMEMAUTOCONFIGUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,261,196,103,8 + CONTROL "Manual configuration",IDC_FASTMEMNOAUTOCONFIG,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,261,214,103,8 + RTEXT "Memory board",IDC_STATIC,15,235,53,15,SS_CENTERIMAGE + COMBOBOX IDC_MEMORYBOARDSELECT,77,235,165,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Z3 mapping mode:",IDC_STATIC,263,234,115,15,SS_CENTERIMAGE + RTEXT "Address range",IDC_STATIC,10,256,57,15,SS_CENTERIMAGE + EDITTEXT IDC_RAM_ADDRESS,77,256,79,13,ES_AUTOHSCROLL + EDITTEXT IDC_RAM_ADDRESS2,164,256,79,13,ES_AUTOHSCROLL + COMBOBOX IDC_Z3MAPPING,262,256,117,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP +END + +IDD_CPU DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN @@ -329,61 +330,61 @@ BEGIN CONTROL "Catch unexpected exceptions",IDC_JITCRASH,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,300,115,11 END -IDD_FLOPPY DIALOGEX 0, 0, 396, 261 +IDD_FLOPPY DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - GROUPBOX "Floppy Drives",IDC_SETTINGSTEXT3,1,0,393,163 - CONTROL "DF0:",IDC_DF0ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,14,34,15 - PUSHBUTTON "Delete save image",IDC_SAVEIMAGE0,69,13,78,15,NOT WS_VISIBLE - COMBOBOX IDC_DF0TYPE,152,14,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Write-protected",IDC_STATIC,221,17,74,10,SS_CENTERIMAGE - CONTROL "",IDC_DF0WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,300,13,10,15 - PUSHBUTTON "?",IDC_INFO0,323,12,17,15 - PUSHBUTTON "Eject",IDC_EJECT0,345,12,30,15 - PUSHBUTTON "...",IDC_DF0,379,12,10,15 - COMBOBOX IDC_DF0TEXT,6,31,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "DF1:",IDC_DF1ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,51,34,15 - PUSHBUTTON "Delete save image",IDC_SAVEIMAGE1,69,49,78,15,NOT WS_VISIBLE - COMBOBOX IDC_DF1TYPE,152,51,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Write-protected",IDC_STATIC,221,53,74,10,SS_CENTERIMAGE - CONTROL "",IDC_DF1WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,300,50,10,15 - PUSHBUTTON "?",IDC_INFO1,323,49,17,15 - PUSHBUTTON "Eject",IDC_EJECT1,345,49,30,15 - PUSHBUTTON "...",IDC_DF1,379,49,10,15 - COMBOBOX IDC_DF1TEXT,6,68,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "DF2:",IDC_DF2ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,87,34,15 - PUSHBUTTON "Delete save image",IDC_SAVEIMAGE2,69,85,78,15,NOT WS_VISIBLE - COMBOBOX IDC_DF2TYPE,152,87,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Write-protected",IDC_STATIC,222,88,73,10,SS_CENTERIMAGE - CONTROL "",IDC_DF2WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,300,86,9,15 - PUSHBUTTON "?",IDC_INFO2,323,85,17,15 - PUSHBUTTON "Eject",IDC_EJECT2,345,85,30,15 - PUSHBUTTON "...",IDC_DF2,379,85,10,15 - COMBOBOX IDC_DF2TEXT,6,104,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "DF3:",IDC_DF3ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,123,34,15 - PUSHBUTTON "Delete save image",IDC_SAVEIMAGE3,69,121,78,15,NOT WS_VISIBLE - COMBOBOX IDC_DF3TYPE,152,123,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Write-protected",IDC_STATIC,222,125,73,10,SS_CENTERIMAGE - CONTROL "",IDC_DF3WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,300,123,9,15 - PUSHBUTTON "?",IDC_INFO3,323,122,17,15 - PUSHBUTTON "Eject",IDC_EJECT3,345,121,30,15 - PUSHBUTTON "...",IDC_DF3,379,121,10,15 - COMBOBOX IDC_DF3TEXT,6,140,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Floppy Drive Emulation Speed",IDC_SETTINGSTEXT2,1,170,393,35 - CONTROL "",IDC_FLOPPYSPD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,180,116,20 - EDITTEXT IDC_FLOPPYSPDTEXT,222,183,101,12,ES_CENTER | ES_READONLY - GROUPBOX "New Floppy Disk Image",IDC_SETTINGSTEXT,1,211,393,49 - COMBOBOX IDC_FLOPPYTYPE,58,225,64,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Create Standard Disk [] Creates a standard 880 or 1760 KB ADF disk image.",IDC_CREATE,130,224,97,15 - PUSHBUTTON "Create Custom Disk [] Creates a low level (MFM) ADF disk image (about 2MB). Useful for programs that use non-standard disk formats (for example some save disks or DOS-formatted floppies)",IDC_CREATE_RAW,235,224,101,15 - RTEXT "Disk label:",IDC_STATIC,60,244,58,10,SS_CENTERIMAGE - EDITTEXT IDC_CREATE_NAME,130,243,97,13,ES_AUTOHSCROLL - CONTROL "Bootblock",IDC_FLOPPY_BOOTABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,235,242,59,15 - CONTROL "FFS",IDC_FLOPPY_FFS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,242,34,15 -END - -IDD_HARDDISK DIALOGEX 0, 0, 396, 318 + GROUPBOX "Floppy Drives",IDC_SETTINGSTEXT3,1,23,393,163 + CONTROL "DF0:",IDC_DF0ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,37,34,15 + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE0,69,36,78,15,NOT WS_VISIBLE + COMBOBOX IDC_DF0TYPE,152,37,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Write-protected",IDC_STATIC,221,40,74,10,SS_CENTERIMAGE + CONTROL "",IDC_DF0WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,300,36,10,15 + PUSHBUTTON "?",IDC_INFO0,323,35,17,15 + PUSHBUTTON "Eject",IDC_EJECT0,345,35,30,15 + PUSHBUTTON "...",IDC_DF0,379,35,10,15 + COMBOBOX IDC_DF0TEXT,6,54,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + CONTROL "DF1:",IDC_DF1ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,74,34,15 + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE1,69,72,78,15,NOT WS_VISIBLE + COMBOBOX IDC_DF1TYPE,152,74,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Write-protected",IDC_STATIC,221,76,74,10,SS_CENTERIMAGE + CONTROL "",IDC_DF1WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,300,73,10,15 + PUSHBUTTON "?",IDC_INFO1,323,72,17,15 + PUSHBUTTON "Eject",IDC_EJECT1,345,72,30,15 + PUSHBUTTON "...",IDC_DF1,379,72,10,15 + COMBOBOX IDC_DF1TEXT,6,91,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + CONTROL "DF2:",IDC_DF2ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,110,34,15 + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE2,69,108,78,15,NOT WS_VISIBLE + COMBOBOX IDC_DF2TYPE,152,110,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Write-protected",IDC_STATIC,222,111,73,10,SS_CENTERIMAGE + CONTROL "",IDC_DF2WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,300,109,9,15 + PUSHBUTTON "?",IDC_INFO2,323,108,17,15 + PUSHBUTTON "Eject",IDC_EJECT2,345,108,30,15 + PUSHBUTTON "...",IDC_DF2,379,108,10,15 + COMBOBOX IDC_DF2TEXT,6,127,384,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + CONTROL "DF3:",IDC_DF3ENABLE,"Button",BS_AUTOCHECKBOX | WS_DISABLED | WS_TABSTOP,7,146,34,15 + PUSHBUTTON "Delete save image",IDC_SAVEIMAGE3,69,144,78,15,NOT WS_VISIBLE + COMBOBOX IDC_DF3TYPE,152,146,65,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Write-protected",IDC_STATIC,222,148,73,10,SS_CENTERIMAGE + CONTROL "",IDC_DF3WP,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,300,146,9,15 + PUSHBUTTON "?",IDC_INFO3,323,145,17,15 + PUSHBUTTON "Eject",IDC_EJECT3,345,144,30,15 + PUSHBUTTON "...",IDC_DF3,379,144,10,15 + COMBOBOX IDC_DF3TEXT,6,163,383,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Floppy Drive Emulation Speed",IDC_SETTINGSTEXT2,1,193,393,35 + CONTROL "",IDC_FLOPPYSPD,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,71,203,116,20 + EDITTEXT IDC_FLOPPYSPDTEXT,222,206,101,12,ES_CENTER | ES_READONLY + GROUPBOX "New Floppy Disk Image",IDC_SETTINGSTEXT,1,234,393,49 + COMBOBOX IDC_FLOPPYTYPE,58,248,64,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Create Standard Disk [] Creates a standard 880 or 1760 KB ADF disk image.",IDC_CREATE,130,247,97,15 + PUSHBUTTON "Create Custom Disk [] Creates a low level (MFM) ADF disk image (about 2MB). Useful for programs that use non-standard disk formats (for example some save disks or DOS-formatted floppies)",IDC_CREATE_RAW,235,247,101,15 + RTEXT "Disk label:",IDC_STATIC,60,267,58,10,SS_CENTERIMAGE + EDITTEXT IDC_CREATE_NAME,130,266,97,13,ES_AUTOHSCROLL + CONTROL "Bootblock",IDC_FLOPPY_BOOTABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,235,265,59,15 + CONTROL "FFS",IDC_FLOPPY_FFS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,300,265,34,15 +END + +IDD_HARDDISK DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD EXSTYLE WS_EX_CONTEXTHELP FONT 8, "MS Sans Serif", 0, 0, 0x1 @@ -418,69 +419,69 @@ BEGIN "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,301,201,11 END -IDD_SOUND DIALOGEX 0, 0, 396, 306 +IDD_SOUND DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - COMBOBOX IDC_SOUNDCARDLIST,1,1,393,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Sound Emulation",IDC_SOUNDSETTINGS,1,19,132,112 - CONTROL "Disabled",IDC_SOUND0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,35,108,10 - CONTROL "Disabled, but emulated",IDC_SOUND1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,49,107,10 - CONTROL "Enabled",IDC_SOUND2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,63,108,10 - CONTROL "Automatic switching",IDC_SOUND_AUTO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,81,108,10 - CONTROL "Include CD and FMV audio",IDC_SOUND_CDPAULAMIX,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,94,108,10 - GROUPBOX "Volume",IDC_STATIC,139,19,255,69 - RTEXT "Master",IDC_STATIC,160,38,51,10,SS_CENTERIMAGE - CONTROL "",IDC_SOUNDVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,215,32,105,20 - EDITTEXT IDC_SOUNDVOLUME2,337,35,48,12,ES_CENTER | ES_READONLY - COMBOBOX IDC_SOUNDVOLUMESELECT,147,65,64,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "",IDC_SOUNDVOLUMEEXT,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,215,61,105,20 - EDITTEXT IDC_SOUNDVOLUMEEXT2,337,64,48,12,ES_CENTER | ES_READONLY - GROUPBOX "Sound Buffer Size",IDC_STATIC,140,90,254,42 - CONTROL "Slider1",IDC_SOUNDBUFFERRAM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,207,106,105,20 - EDITTEXT IDC_SOUNDBUFFERMEM,329,109,48,12,ES_CENTER | ES_READONLY - GROUPBOX "Settings",IDC_SOUNDINTERPOLATION2,1,136,393,72 - LTEXT "Channel mode:",IDC_SOUNDSTEREOTXT,22,148,128,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDSTEREO,24,158,135,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Stereo separation:",IDC_SOUNDSTEREOSEPTXT,180,148,84,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDSTEREOSEP,181,158,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Interpolation:",IDC_SOUNDINTERPOLATIONTXT,279,148,98,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDINTERPOLATION,279,158,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Frequency:",IDC_SOUNDFREQTXT,22,176,58,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDFREQ,24,186,55,75,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP - LTEXT "Swap channels:",IDC_SOUNDSWAPTXT,85,176,81,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDSWAP,86,186,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Stereo delay:",IDC_SOUNDSTEREOMIXTXT,180,176,83,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDSTEREOMIX,181,186,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Audio filter:",IDC_SOUNDFILTERTXT,279,176,98,8,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDFILTER,279,186,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Floppy Drive Sound Emulation",IDC_STATIC,1,209,278,91 - CONTROL "",IDC_SOUNDDRIVEVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,20,227,107,19 - EDITTEXT IDC_SOUNDDRIVEVOLUME2,145,231,48,12,ES_CENTER | ES_READONLY - LTEXT "Empty drive",IDC_STATIC,205,231,60,15,SS_CENTERIMAGE - CONTROL "",IDC_SOUNDDRIVEVOLUMEX,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,20,254,107,19 - EDITTEXT IDC_SOUNDDRIVEVOLUMEX2,145,258,48,12,ES_CENTER | ES_READONLY - LTEXT "Disk in drive",IDC_STATIC,205,258,60,15,SS_CENTERIMAGE - COMBOBOX IDC_SOUNDDRIVESELECT,18,281,175,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_SOUNDDRIVE,205,281,66,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Drivers",IDC_STATIC,285,213,109,87 - CONTROL "DirectSound",IDC_SOUND_DS,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,234,98,10 - CONTROL "WASAPI",IDC_SOUND_WASAPI,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,248,98,10 - CONTROL "OpenAL",IDC_SOUND_OPENAL,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,262,98,10 - CONTROL "PortAudio",IDC_SOUND_PORTAUDIO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,276,98,10 - CONTROL "Volume Counter mode",IDC_SOUND_VOLCNT,"Button",BS_AUTOCHECKBOX | BS_LEFT | NOT WS_VISIBLE | WS_GROUP | WS_TABSTOP,13,114,108,10 -END - -IDD_LOADSAVE DIALOGEX 0, 0, 396, 318 + COMBOBOX IDC_SOUNDCARDLIST,1,10,393,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Sound Emulation",IDC_SOUNDSETTINGS,1,28,132,112 + CONTROL "Disabled",IDC_SOUND0,"Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,13,44,108,10 + CONTROL "Disabled, but emulated",IDC_SOUND1,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,58,107,10 + CONTROL "Enabled",IDC_SOUND2,"Button",BS_AUTORADIOBUTTON | WS_TABSTOP,13,72,108,10 + CONTROL "Automatic switching",IDC_SOUND_AUTO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,90,108,10 + CONTROL "Include CD and FMV audio",IDC_SOUND_CDPAULAMIX,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,103,108,10 + GROUPBOX "Volume",IDC_STATIC,139,28,255,69 + RTEXT "Master",IDC_STATIC,160,47,51,10,SS_CENTERIMAGE + CONTROL "",IDC_SOUNDVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,215,41,105,20 + EDITTEXT IDC_SOUNDVOLUME2,337,44,48,12,ES_CENTER | ES_READONLY + COMBOBOX IDC_SOUNDVOLUMESELECT,147,74,64,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_SOUNDVOLUMEEXT,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,215,70,105,20 + EDITTEXT IDC_SOUNDVOLUMEEXT2,337,73,48,12,ES_CENTER | ES_READONLY + GROUPBOX "Sound Buffer Size",IDC_STATIC,140,99,254,42 + CONTROL "Slider1",IDC_SOUNDBUFFERRAM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,207,115,105,20 + EDITTEXT IDC_SOUNDBUFFERMEM,329,118,48,12,ES_CENTER | ES_READONLY + GROUPBOX "Settings",IDC_SOUNDINTERPOLATION2,1,145,393,72 + LTEXT "Channel mode:",IDC_SOUNDSTEREOTXT,22,157,128,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDSTEREO,24,167,135,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Stereo separation:",IDC_SOUNDSTEREOSEPTXT,180,157,84,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDSTEREOSEP,181,167,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Interpolation:",IDC_SOUNDINTERPOLATIONTXT,279,157,98,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDINTERPOLATION,279,167,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Frequency:",IDC_SOUNDFREQTXT,22,185,58,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDFREQ,24,195,55,75,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP + LTEXT "Swap channels:",IDC_SOUNDSWAPTXT,85,185,81,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDSWAP,86,195,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Stereo delay:",IDC_SOUNDSTEREOMIXTXT,180,185,83,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDSTEREOMIX,181,195,74,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Audio filter:",IDC_SOUNDFILTERTXT,279,185,98,8,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDFILTER,279,195,96,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Floppy Drive Sound Emulation",IDC_STATIC,1,218,278,91 + CONTROL "",IDC_SOUNDDRIVEVOLUME,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,20,236,107,19 + EDITTEXT IDC_SOUNDDRIVEVOLUME2,145,240,48,12,ES_CENTER | ES_READONLY + LTEXT "Empty drive",IDC_STATIC,205,240,60,15,SS_CENTERIMAGE + CONTROL "",IDC_SOUNDDRIVEVOLUMEX,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,20,263,107,19 + EDITTEXT IDC_SOUNDDRIVEVOLUMEX2,145,267,48,12,ES_CENTER | ES_READONLY + LTEXT "Disk in drive",IDC_STATIC,205,267,60,15,SS_CENTERIMAGE + COMBOBOX IDC_SOUNDDRIVESELECT,18,290,175,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SOUNDDRIVE,205,290,66,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Drivers",IDC_STATIC,285,222,109,87 + CONTROL "DirectSound",IDC_SOUND_DS,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,243,98,10 + CONTROL "WASAPI",IDC_SOUND_WASAPI,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,257,98,10 + CONTROL "OpenAL",IDC_SOUND_OPENAL,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,271,98,10 + CONTROL "PortAudio",IDC_SOUND_PORTAUDIO,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,292,285,98,10 + CONTROL "Volume Counter mode",IDC_SOUND_VOLCNT,"Button",BS_AUTOCHECKBOX | BS_LEFT | NOT WS_VISIBLE | WS_GROUP | WS_TABSTOP,13,123,108,10 +END + +IDD_LOADSAVE DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - CONTROL "",IDC_CONFIGTREE,"SysTreeView32",TVS_HASLINES | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | TVS_TRACKSELECT | WS_BORDER | WS_HSCROLL | WS_TABSTOP,1,2,393,236,WS_EX_CLIENTEDGE + CONTROL "",IDC_CONFIGTREE,"SysTreeView32",TVS_HASLINES | TVS_DISABLEDRAGDROP | TVS_SHOWSELALWAYS | TVS_TRACKSELECT | WS_BORDER | WS_HSCROLL | WS_TABSTOP,1,2,393,236 RTEXT "Search:",IDC_STATIC,7,245,44,8,SS_CENTERIMAGE EDITTEXT IDC_CONFIGSEARCH,55,243,90,13,ES_AUTOHSCROLL PUSHBUTTON "X",IDC_CONFIGSEARCHCLEAR,149,243,15,14 RTEXT "Filter:",IDC_STATIC,172,245,39,8,SS_CENTERIMAGE - COMBOBOX IDC_CONFIGFOLDER,216,243,177,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_CONFIGFOLDER,216,243,178,150,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP RTEXT "Name:",IDC_STATIC,4,265,47,8,SS_CENTERIMAGE COMBOBOX IDC_EDITNAME,55,264,175,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP EDITTEXT IDC_EDITPATH,236,263,49,15,ES_AUTOHSCROLL | WS_DISABLED @@ -493,78 +494,78 @@ BEGIN PUSHBUTTON "Save",IDC_QUICKSAVE,65,301,60,15 PUSHBUTTON "Load From...",IDC_LOAD,162,301,60,15 PUSHBUTTON "Save As...",IDC_SAVE,226,301,60,15 - PUSHBUTTON "Delete",IDC_DELETE,335,301,60,15 + PUSHBUTTON "Delete",IDC_DELETE,335,301,59,15 END -IDD_IOPORTS DIALOGEX 0, 0, 396, 295 +IDD_IOPORTS DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Parallel Port",IDC_STATIC,1,1,393,131 - RTEXT "Printer:",IDC_STATIC,6,16,57,15,SS_CENTERIMAGE - COMBOBOX IDC_PRINTERLIST,67,17,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Type:",IDC_STATIC,7,38,57,15,SS_CENTERIMAGE - COMBOBOX IDC_PRINTERTYPELIST,67,39,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Flush print job",IDC_FLUSHPRINTER,147,58,75,12 - RTEXT "Autoflush [] Time in seconds after a pending print job is automatically flushed.",IDC_PRINTERAUTOFLUSHTXT,236,56,110,15,SS_NOTIFY | SS_CENTERIMAGE - EDITTEXT IDC_PRINTERAUTOFLUSH,351,58,33,12,ES_NUMBER - RTEXT "Ghostscript extra parameters:",IDC_STATIC,8,74,136,15,SS_CENTERIMAGE - EDITTEXT IDC_PS_PARAMS,148,75,236,12,ES_AUTOHSCROLL - RTEXT "Sampler:",IDC_STATIC,6,94,57,15,SS_CENTERIMAGE - COMBOBOX IDC_SAMPLERLIST,67,95,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Stereo sampler",IDC_SAMPLER_STEREO,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,68,114,149,12 - GROUPBOX "Serial Port",IDC_STATIC,1,137,393,51 - COMBOBOX IDC_SERIAL,67,150,317,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Shared",IDC_SER_SHARED,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,32,171,66,12 - CONTROL "RTS/CTS",IDC_SER_CTSRTS,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,107,171,66,12 + GROUPBOX "Parallel Port",IDC_STATIC,1,9,393,131 + RTEXT "Printer:",IDC_STATIC,6,24,57,15,SS_CENTERIMAGE + COMBOBOX IDC_PRINTERLIST,67,25,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Type:",IDC_STATIC,7,46,57,15,SS_CENTERIMAGE + COMBOBOX IDC_PRINTERTYPELIST,67,47,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Flush print job",IDC_FLUSHPRINTER,147,66,75,12 + RTEXT "Autoflush [] Time in seconds after a pending print job is automatically flushed.",IDC_PRINTERAUTOFLUSHTXT,236,64,110,15,SS_NOTIFY | SS_CENTERIMAGE + EDITTEXT IDC_PRINTERAUTOFLUSH,351,66,33,12,ES_NUMBER + RTEXT "Ghostscript extra parameters:",IDC_STATIC,8,82,136,15,SS_CENTERIMAGE + EDITTEXT IDC_PS_PARAMS,148,83,236,12,ES_AUTOHSCROLL + RTEXT "Sampler:",IDC_STATIC,6,102,57,15,SS_CENTERIMAGE + COMBOBOX IDC_SAMPLERLIST,67,103,317,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + 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,51 + 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,32,179,66,12 + CONTROL "RTS/CTS",IDC_SER_CTSRTS,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,107,179,66,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,171,83,12 - CONTROL "uaeserial.device",IDC_UAESERIAL,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,274,171,108,12 - GROUPBOX "MIDI",IDC_STATIC,1,191,393,54,BS_LEFT - RTEXT "Out:",IDC_MIDI,22,202,32,15,SS_CENTERIMAGE - COMBOBOX IDC_MIDIOUTLIST,58,204,145,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "In:",IDC_MIDI2,204,201,31,15,SS_CENTERIMAGE - COMBOBOX IDC_MIDIINLIST,239,203,145,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Route MIDI In to MIDI Out",IDC_MIDIROUTER,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,41,227,170,12 - GROUPBOX "Protection Dongle",IDC_STATIC,1,252,393,41,BS_LEFT - COMBOBOX IDC_DONGLELIST,58,270,232,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP -END - -IDD_GAMEPORTS DIALOGEX 0, 0, 396, 288 + "Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,182,179,83,12 + CONTROL "uaeserial.device",IDC_UAESERIAL,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,274,179,108,12 + GROUPBOX "MIDI",IDC_STATIC,1,199,393,54,BS_LEFT + RTEXT "Out:",IDC_MIDI,22,210,32,15,SS_CENTERIMAGE + COMBOBOX IDC_MIDIOUTLIST,58,212,145,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "In:",IDC_MIDI2,204,209,31,15,SS_CENTERIMAGE + COMBOBOX IDC_MIDIINLIST,239,211,145,134,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Route MIDI In to MIDI Out",IDC_MIDIROUTER,"Button",BS_AUTOCHECKBOX | BS_VCENTER | WS_TABSTOP,41,235,170,12 + GROUPBOX "Protection Dongle",IDC_STATIC,1,260,393,41,BS_LEFT + COMBOBOX IDC_DONGLELIST,58,278,232,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP +END + +IDD_GAMEPORTS DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Mouse and Joystick settings",IDC_STATIC,1,3,393,211 - RTEXT "Port 1:",IDC_STATIC,4,18,37,15,SS_CENTERIMAGE - COMBOBOX IDC_PORT0_JOYS,45,19,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_PORT0_AF,45,37,86,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_PORT0_JOYSMODE,136,38,106,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Remap / Test [] Remap or test Port 1 configurarion.",IDC_PORT0_REMAP,310,37,78,14 - RTEXT "Port 2:",IDC_STATIC,6,56,35,15,SS_CENTERIMAGE - COMBOBOX IDC_PORT1_JOYS,45,57,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_PORT1_AF,45,74,86,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_PORT1_JOYSMODE,136,74,106,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Remap / Test [] Remap or test Port 2 configuration.",IDC_PORT1_REMAP,310,74,78,14 - PUSHBUTTON "Swap ports [] Swap ports 1 and 2.",IDC_SWAP,45,100,78,14 + GROUPBOX "Mouse and Joystick settings",IDC_STATIC,1,15,393,211 + RTEXT "Port 1:",IDC_STATIC,4,30,37,15,SS_CENTERIMAGE + COMBOBOX IDC_PORT0_JOYS,45,31,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_PORT0_AF,45,49,86,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_PORT0_JOYSMODE,136,50,106,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Remap / Test [] Remap or test Port 1 configurarion.",IDC_PORT0_REMAP,310,49,78,14 + RTEXT "Port 2:",IDC_STATIC,6,68,35,15,SS_CENTERIMAGE + COMBOBOX IDC_PORT1_JOYS,45,69,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_PORT1_AF,45,86,86,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_PORT1_JOYSMODE,136,86,106,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Remap / Test [] Remap or test Port 2 configuration.",IDC_PORT1_REMAP,310,86,78,14 + PUSHBUTTON "Swap ports [] Swap ports 1 and 2.",IDC_SWAP,45,112,78,14 CONTROL "Mouse/Joystick autoswitching [] Press button to automatically insert inactive input device in to joystick/mouse port",IDC_PORT_AUTOSWITCH, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,136,102,172,11 - LTEXT "Emulated parallel port joystick adapter",IDC_STATIC,10,124,179,15,SS_CENTERIMAGE - COMBOBOX IDC_PORT2_JOYS,45,142,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Remap / Test [] Remap or test Parallel port joystick port 1 configurarion.",IDC_PORT2_REMAP,310,159,78,14 - COMBOBOX IDC_PORT3_JOYS,45,178,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Remap / Test [] Remap or test Parallel port joystick port 2 configurarion.",IDC_PORT3_REMAP,310,194,78,14 - GROUPBOX "Mouse extra settings",IDC_STATIC,1,219,393,68 - RTEXT "Mouse speed:",IDC_STATIC,13,237,70,10,SS_CENTERIMAGE - EDITTEXT IDC_INPUTSPEEDM,97,237,25,13,ES_NUMBER - CONTROL "Install virtual mouse driver",IDC_PORT_TABLET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,255,116,11 - RTEXT "Mouse untrap mode:",IDC_STATIC,143,237,110,10,SS_CENTERIMAGE - COMBOBOX IDC_MOUSE_UNTRAPMODE,268,234,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - RTEXT "Magic Mouse cursor mode:",IDC_STATIC,143,253,110,10,SS_CENTERIMAGE - COMBOBOX IDC_PORT_TABLET_CURSOR,268,251,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,136,114,172,11 + LTEXT "Emulated parallel port joystick adapter",IDC_STATIC,10,136,179,15,SS_CENTERIMAGE + COMBOBOX IDC_PORT2_JOYS,45,154,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Remap / Test [] Remap or test Parallel port joystick port 1 configurarion.",IDC_PORT2_REMAP,310,171,78,14 + COMBOBOX IDC_PORT3_JOYS,45,190,342,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Remap / Test [] Remap or test Parallel port joystick port 2 configurarion.",IDC_PORT3_REMAP,310,206,78,14 + GROUPBOX "Mouse extra settings",IDC_STATIC,1,231,393,68 + RTEXT "Mouse speed:",IDC_STATIC,13,249,70,10,SS_CENTERIMAGE + EDITTEXT IDC_INPUTSPEEDM,97,249,25,13,ES_NUMBER + CONTROL "Install virtual mouse driver",IDC_PORT_TABLET,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,267,116,11 + RTEXT "Mouse untrap mode:",IDC_STATIC,143,249,110,10,SS_CENTERIMAGE + COMBOBOX IDC_MOUSE_UNTRAPMODE,268,246,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + RTEXT "Magic Mouse cursor mode:",IDC_STATIC,143,265,110,10,SS_CENTERIMAGE + COMBOBOX IDC_PORT_TABLET_CURSOR,268,263,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Tablet.library emulation",IDC_PORT_TABLET_LIBRARY, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,271,117,11 - RTEXT "Tablet mode:",IDC_STATIC,184,271,70,10,SS_CENTERIMAGE - COMBOBOX IDC_PORT_TABLET_MODE,268,268,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,9,283,117,11 + RTEXT "Tablet mode:",IDC_STATIC,184,283,70,10,SS_CENTERIMAGE + COMBOBOX IDC_PORT_TABLET_MODE,268,280,119,130,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP END IDD_CONTRIBUTORS DIALOGEX 0, 0, 530, 345 @@ -586,23 +587,23 @@ BEGIN CONTROL "",IDC_ERRORLOGMESSAGE,"RICHEDIT",TCS_HOTTRACK | TCS_VERTICAL | TCS_RAGGEDRIGHT | TCS_OWNERDRAWFIXED | TCS_MULTISELECT | WS_BORDER | WS_VSCROLL | WS_HSCROLL | WS_TABSTOP,4,5,521,309 END -IDD_ABOUT DIALOGEX 0, 0, 345, 258 +IDD_ABOUT DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - CONTROL "",IDC_RICHEDIT1,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,65,10,210,35 - CONTROL "",IDC_RICHEDIT2,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,1,58,343,28 - PUSHBUTTON "Contributors",IDC_CONTRIBUTORS,132,100,80,15 - CONTROL "",IDC_AMIGAHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,116,168,112,24 - CONTROL "",IDC_WINUAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,231,168,112,24 - CONTROL "",IDC_CAPS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,174,196,112,24 - CONTROL "",IDC_ABIME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,60,196,112,24 - CONTROL "",IDC_CLOANTOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,2,168,112,24 - CONTROL "",IDC_AMIGASYS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,2,225,112,24 - CONTROL "",IDC_AMIKIT,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,231,225,112,24 + CONTROL "",IDC_RICHEDIT1,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,65,36,210,35 + CONTROL "",IDC_RICHEDIT2,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,1,84,343,28 + PUSHBUTTON "Contributors",IDC_CONTRIBUTORS,132,126,80,15 + CONTROL "",IDC_AMIGAHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,116,194,112,24 + CONTROL "",IDC_WINUAEHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,231,194,112,24 + CONTROL "",IDC_CAPS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,174,222,112,24 + CONTROL "",IDC_ABIME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,60,222,112,24 + CONTROL "",IDC_CLOANTOHOME,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,2,194,112,24 + CONTROL "",IDC_AMIGASYS,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,2,251,112,24 + CONTROL "",IDC_AMIKIT,"RICHEDIT",TCS_SCROLLOPPOSITE | TCS_RAGGEDRIGHT | TCS_MULTISELECT | WS_DISABLED,231,251,112,24 END -IDD_MISC1 DIALOGEX 0, 0, 396, 318 +IDD_MISC1 DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN @@ -618,7 +619,6 @@ BEGIN GROUPBOX "GUI",IDC_STATIC,266,125,128,112 COMBOBOX IDC_LANGUAGE,273,138,114,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP PUSHBUTTON "GUI Font...",IDC_GUI_FONT,272,155,54,14 - PUSHBUTTON "List Font...",IDC_GUI_LISTFONT,333,155,54,14 PUSHBUTTON "Set default",IDC_GUI_DEFAULT,272,174,54,14 COMBOBOX IDC_GUI_SIZE,333,175,54,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Resizeable GUI",IDC_GUI_RESIZE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,273,209,114,11 @@ -636,7 +636,7 @@ BEGIN PUSHBUTTON "Reset list customizations",IDC_GUI_LVDEFAULT,272,192,115,14 END -IDD_HARDFILE DIALOGEX 0, 0, 397, 290 +IDD_HARDFILE DIALOGEX 0, 0, 397, 292 STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_SETFOREGROUND | DS_3DLOOK | DS_CENTER | DS_CENTERMOUSE | WS_POPUP | WS_VISIBLE | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_ACCEPTFILES CAPTION "Hardfile Settings" @@ -733,62 +733,62 @@ BEGIN PUSHBUTTON "Cancel",IDCANCEL,201,102,48,15 END -IDD_CHIPSET DIALOGEX 0, 0, 396, 287 +IDD_CHIPSET DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN - GROUPBOX "Chipset",IDC_STATIC,1,0,212,136 + GROUPBOX "Chipset",IDC_STATIC,1,20,212,136 CONTROL "OCS [] Original chipset. A1000 and most A500s.",IDC_OCS, - "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,12,15,88,10 + "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,12,35,88,10 CONTROL "ECS Agnus [] Enhanced chipset (ECS Agnus chip only). CDTV and later A500 and A2000 hardware revisions.",IDC_ECS_AGNUS, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,12,31,88,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,12,51,88,10 CONTROL "Full ECS [] Full ECS chipset (ECS Agnus and ECS Denise chips). A500+, A600 and A3000.",IDC_ECS, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,12,47,88,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,12,67,88,10 CONTROL "AGA [] Advanced Graphics Architecture chipset. A1200, A4000 and CD32.",IDC_AGA, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,114,15,86,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,114,35,86,10 CONTROL "ECS Denise [] Enhanced chipset (ECS Denise chip only). Normally paired with ECS Agnus.",IDC_ECS_DENISE, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,114,31,86,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,114,51,86,10 CONTROL "NTSC [] North American and Japanese display standard, 60Hz refresh rate. Other countries use PAL (50Hz. display refresh rate)",IDC_NTSC, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,114,47,86,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,114,67,86,10 CONTROL "Cycle-exact (Full) [] The most compatible A500/A1200 emulation mode.",IDC_CYCLEEXACT, - "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,12,68,194,10 + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,12,88,194,10 CONTROL "Cycle-exact (DMA/Memory accesses)",IDC_CYCLEEXACTMEMORY, - "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,12,81,194,10 - RTEXT "Chipset Extra:",IDC_STATIC,38,108,71,15,SS_CENTERIMAGE - COMBOBOX IDC_CS_EXT,116,109,88,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Options",IDC_STATIC,221,0,173,137 - CONTROL "Keyboard connected",IDC_KEYBOARD_CONNECTED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,15,150,10 + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,12,101,194,10 + RTEXT "Chipset Extra:",IDC_STATIC,38,128,71,15,SS_CENTERIMAGE + COMBOBOX IDC_CS_EXT,116,129,88,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Options",IDC_STATIC,221,20,173,137 + CONTROL "Keyboard connected",IDC_KEYBOARD_CONNECTED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,35,150,10 CONTROL "Immediate Blitter [] Faster but less compatible blitter emulation.",IDC_BLITIMM, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,42,150,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,62,150,10 CONTROL "Wait for Blitter [] Compatibility hack for programs that don't wait for the blitter correctly, causing graphics corruption if CPU is too fast.",IDC_BLITWAIT, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,55,150,10 - LTEXT "Monitor:",IDC_STATIC,240,119,68,15,SS_CENTERIMAGE,WS_EX_RIGHT - COMBOBOX IDC_MONITOREMU,237,103,147,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Collision Level",IDC_STATIC,1,141,393,48 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,75,150,10 + LTEXT "Monitor:",IDC_STATIC,240,139,68,15,SS_CENTERIMAGE,WS_EX_RIGHT + COMBOBOX IDC_MONITOREMU,237,123,147,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Collision Level",IDC_STATIC,1,161,393,48 CONTROL "None [] Collision hardware emulation disabled.",IDC_COLLISION0, - "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,47,157,101,10 + "Button",BS_AUTORADIOBUTTON | WS_GROUP | WS_TABSTOP,47,177,101,10 CONTROL "Sprites only [] Emulate only sprite vs. sprite collisions.",IDC_COLLISION1, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,47,172,101,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,47,192,101,10 CONTROL "Sprites and Sprites vs. Playfield [] Recommended collision emulation level.",IDC_COLLISION2, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,182,157,181,10 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,182,177,181,10 CONTROL "Full [] 100% collision hardware emulation. Only very few games need this option. Slowest.",IDC_COLLISION3, - "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,182,172,181,10 - GROUPBOX "Genlock",IDC_STATIC,0,195,393,85 + "Button",BS_AUTORADIOBUTTON | WS_TABSTOP,182,192,181,10 + GROUPBOX "Genlock",IDC_STATIC,0,215,393,85 CONTROL "Genlock connected [] Allow boot sequence to detect genlock.",IDC_GENLOCK, - "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,211,109,10 - COMBOBOX IDC_GENLOCKMODE,129,209,192,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_GENLOCKMIX,330,209,54,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,231,109,10 + COMBOBOX IDC_GENLOCKMODE,129,229,192,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_GENLOCKMIX,330,229,54,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "Include alpha channel in screenshots and video captures.",IDC_GENLOCK_ALPHA, - "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,227,214,10 - COMBOBOX IDC_GENLOCKFILE,12,258,356,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_GENLOCKFILESELECT,375,257,10,15 - CONTROL "Keep aspect ratio",IDC_GENLOCK_KEEP_ASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,242,214,10 - COMBOBOX IDC_MONITOREMU_MON,319,121,65,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Video port display hardware:",IDC_STATIC,241,85,117,15,SS_CENTERIMAGE - CONTROL "Subpixel display emulation",IDC_SUBPIXEL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,28,150,10 + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,247,214,10 + COMBOBOX IDC_GENLOCKFILE,12,278,356,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "...",IDC_GENLOCKFILESELECT,375,277,10,15 + CONTROL "Keep aspect ratio",IDC_GENLOCK_KEEP_ASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,13,262,214,10 + COMBOBOX IDC_MONITOREMU_MON,319,141,65,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Video port display hardware:",IDC_STATIC,241,105,117,15,SS_CENTERIMAGE + CONTROL "Subpixel display emulation",IDC_SUBPIXEL,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,234,48,150,10 END -IDD_CHIPSET2 DIALOGEX 0, 0, 396, 317 +IDD_CHIPSET2 DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN @@ -848,44 +848,44 @@ BEGIN "Button",BS_AUTOCHECKBOX | WS_TABSTOP,264,185,125,12 END -IDD_AVIOUTPUT DIALOGEX 0, 0, 396, 260 +IDD_AVIOUTPUT DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Output Properties",IDC_STATIC,1,0,393,123 - EDITTEXT IDC_AVIOUTPUT_FILETEXT,15,15,342,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_CLIENTEDGE - PUSHBUTTON "...",IDC_AVIOUTPUT_FILE,362,15,23,12 - CONTROL "Audio",IDC_AVIOUTPUT_AUDIO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,34,66,14 - CONTROL "",IDC_AVIOUTPUT_AUDIO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,88,35,298,13 - CONTROL "Video",IDC_AVIOUTPUT_VIDEO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,52,66,14 - CONTROL "",IDC_AVIOUTPUT_VIDEO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,87,53,298,13 + GROUPBOX "Output Properties",IDC_STATIC,1,29,393,123 + EDITTEXT IDC_AVIOUTPUT_FILETEXT,15,44,342,12,ES_AUTOHSCROLL | ES_READONLY | NOT WS_BORDER,WS_EX_CLIENTEDGE + PUSHBUTTON "...",IDC_AVIOUTPUT_FILE,362,44,23,12 + CONTROL "Audio",IDC_AVIOUTPUT_AUDIO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,63,66,14 + CONTROL "",IDC_AVIOUTPUT_AUDIO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,88,64,298,13 + CONTROL "Video",IDC_AVIOUTPUT_VIDEO,"Button",BS_AUTOCHECKBOX | BS_PUSHLIKE | BS_FLAT | WS_TABSTOP,15,81,66,14 + CONTROL "",IDC_AVIOUTPUT_VIDEO_STATIC,"Static",SS_LEFTNOWORDWRAP | SS_CENTERIMAGE | SS_SUNKEN | WS_GROUP,87,82,298,13 CONTROL "Disable frame rate limit",IDC_AVIOUTPUT_FRAMELIMITER, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,72,176,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,101,176,10 CONTROL "Capture before filtering",IDC_AVIOUTPUT_ORIGINALSIZE, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,72,171,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,101,171,10 CONTROL "Disable sound output",IDC_AVIOUTPUT_NOSOUNDOUTPUT, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,85,176,10 - CONTROL "Disable sound sync",IDC_AVIOUTPUT_NOSOUNDSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,85,171,10 - CONTROL "AVI output enabled",IDC_AVIOUTPUT_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,15,100,144,14 - GROUPBOX "Ripper",IDC_STATIC,1,126,393,53 - PUSHBUTTON "Save screenshot",IDC_SCREENSHOT,28,140,87,14 - PUSHBUTTON "Pro Wizard 1.62",IDC_PROWIZARD,162,140,87,14,WS_DISABLED + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,15,114,176,10 + CONTROL "Disable sound sync",IDC_AVIOUTPUT_NOSOUNDSYNC,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,210,114,171,10 + CONTROL "AVI output enabled",IDC_AVIOUTPUT_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,15,129,144,14 + GROUPBOX "Ripper",IDC_STATIC,1,155,393,53 + PUSHBUTTON "Save screenshot",IDC_SCREENSHOT,28,169,87,14 + PUSHBUTTON "Pro Wizard 1.62",IDC_PROWIZARD,162,169,87,14,WS_DISABLED CONTROL "Take screenshot before filtering",IDC_SCREENSHOT_ORIGINALSIZE, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,163,144,10 - CONTROL "Sample ripper",IDC_SAMPLERIPPER_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,280,140,87,14 - GROUPBOX "Re-recorder",IDC_STATIC,1,182,393,70 - CONTROL "Play recording",IDC_STATEREC_PLAY,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,53,194,87,14 - CONTROL "Re-recording enabled",IDC_STATEREC_RECORD,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,214,194,118,14 - CONTROL "Automatic replay",IDC_STATEREC_AUTOPLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,217,129,10 - PUSHBUTTON "Save recording",IDC_STATEREC_SAVE,214,212,118,14 - RTEXT "Recording rate (seconds):",IDC_STATIC,15,235,121,10,SS_CENTERIMAGE | WS_TABSTOP - COMBOBOX IDC_STATEREC_RATE,141,233,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP - RTEXT "Recording buffers:",IDC_STATIC,195,235,91,10,SS_CENTERIMAGE | WS_TABSTOP - COMBOBOX IDC_STATEREC_BUFFERSIZE,291,233,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP - CONTROL "Autoclip screenshot",IDC_SCREENSHOT_CLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,163,144,10 -END - -IDD_INPUT DIALOGEX 0, 0, 396, 318 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,11,192,144,10 + CONTROL "Sample ripper",IDC_SAMPLERIPPER_ACTIVATED,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,280,169,87,14 + GROUPBOX "Re-recorder",IDC_STATIC,1,211,393,70 + CONTROL "Play recording",IDC_STATEREC_PLAY,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,53,223,87,14 + CONTROL "Re-recording enabled",IDC_STATEREC_RECORD,"Button",BS_AUTORADIOBUTTON | BS_PUSHLIKE | BS_FLAT,214,223,118,14 + CONTROL "Automatic replay",IDC_STATEREC_AUTOPLAY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,54,246,129,10 + PUSHBUTTON "Save recording",IDC_STATEREC_SAVE,214,241,118,14 + RTEXT "Recording rate (seconds):",IDC_STATIC,15,264,121,10,SS_CENTERIMAGE | WS_TABSTOP + COMBOBOX IDC_STATEREC_RATE,141,262,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP + RTEXT "Recording buffers:",IDC_STATIC,195,264,91,10,SS_CENTERIMAGE | WS_TABSTOP + COMBOBOX IDC_STATEREC_BUFFERSIZE,291,262,38,65,CBS_DROPDOWN | WS_VSCROLL | WS_TABSTOP + CONTROL "Autoclip screenshot",IDC_SCREENSHOT_CLIP,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,161,192,144,10 +END + +IDD_INPUT DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN @@ -911,51 +911,51 @@ BEGIN PUSHBUTTON "Swap 1<>2",IDC_INPUTSWAP,324,303,70,14 END -IDD_FILTER DIALOGEX 0, 0, 396, 295 +IDD_FILTER DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Filter Settings",-1,1,1,393,160 - COMBOBOX IDC_FILTERMODE,9,31,153,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_FILTERSTACK,167,31,27,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_FILTERFILTERH,199,31,29,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_FILTEROVERLAYTYPE,9,52,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_FILTEROVERLAY,134,52,129,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_FILTER_NATIVERTG,268,12,120,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Reset to defaults",IDC_FILTERDEFAULT,268,31,121,14 - COMBOBOX IDC_FILTERAUTOSCALE,268,52,88,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_FILTERINTEGER,361,52,27,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "Horiz. size:",-1,7,79,81,10,SS_CENTERIMAGE - COMBOBOX IDC_FILTERHZMULT,92,78,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "Vert. size:",-1,7,100,81,10,SS_CENTERIMAGE - COMBOBOX IDC_FILTERVZMULT,92,99,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "Horiz. position:",-1,5,121,81,10,SS_CENTERIMAGE - RTEXT "Vert. position:",-1,5,141,81,10,SS_CENTERIMAGE - CONTROL "Slider1",IDC_FILTERHZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,72,152,19 - EDITTEXT IDC_FILTERHZV,316,74,42,12,ES_CENTER | ES_READONLY - CONTROL "Slider1",IDC_FILTERVZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,93,152,19 - EDITTEXT IDC_FILTERVZV,316,95,42,12,ES_CENTER | ES_READONLY - CONTROL "Slider1",IDC_FILTERHO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,114,151,19 - EDITTEXT IDC_FILTERHOV,316,116,42,12,ES_CENTER | ES_READONLY - CONTROL "Slider1",IDC_FILTERVO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,135,151,19 - EDITTEXT IDC_FILTERVOV,316,137,42,12,ES_CENTER | ES_READONLY - GROUPBOX "Aspect Ratio Correction",-1,1,165,144,89 - COMBOBOX IDC_FILTERASPECT,14,182,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Filter Settings",-1,1,9,393,160 + COMBOBOX IDC_FILTERMODE,9,39,153,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERSTACK,167,39,27,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERFILTERH,199,39,29,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTEROVERLAYTYPE,9,60,119,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTEROVERLAY,134,60,129,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTER_NATIVERTG,268,20,120,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Reset to defaults",IDC_FILTERDEFAULT,268,39,121,14 + COMBOBOX IDC_FILTERAUTOSCALE,268,60,88,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERINTEGER,361,60,27,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Horiz. size:",-1,7,87,81,10,SS_CENTERIMAGE + COMBOBOX IDC_FILTERHZMULT,92,86,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Vert. size:",-1,7,108,81,10,SS_CENTERIMAGE + COMBOBOX IDC_FILTERVZMULT,92,107,35,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "Horiz. position:",-1,5,129,81,10,SS_CENTERIMAGE + RTEXT "Vert. position:",-1,5,149,81,10,SS_CENTERIMAGE + CONTROL "Slider1",IDC_FILTERHZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,80,152,19 + EDITTEXT IDC_FILTERHZV,316,82,42,12,ES_CENTER | ES_READONLY + CONTROL "Slider1",IDC_FILTERVZ,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,101,152,19 + EDITTEXT IDC_FILTERVZV,316,103,42,12,ES_CENTER | ES_READONLY + CONTROL "Slider1",IDC_FILTERHO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,122,151,19 + EDITTEXT IDC_FILTERHOV,316,124,42,12,ES_CENTER | ES_READONLY + CONTROL "Slider1",IDC_FILTERVO,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,147,143,151,19 + EDITTEXT IDC_FILTERVOV,316,145,42,12,ES_CENTER | ES_READONLY + GROUPBOX "Aspect Ratio Correction",-1,1,173,144,89 + COMBOBOX IDC_FILTERASPECT,14,190,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP CONTROL "Keep autoscale aspect",IDC_FILTERKEEPAUTOSCALEASPECT, - "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,202,126,11 - CONTROL "Keep aspect ratio",IDC_FILTERKEEPASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,217,126,11 - COMBOBOX IDC_FILTERASPECT2,14,233,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Extra Settings",-1,154,165,240,89 - COMBOBOX IDC_FILTERXTRA,177,185,138,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_FILTERSLR,327,185,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Slider1",IDC_FILTERXL,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,208,141,19 - EDITTEXT IDC_FILTERXLV,327,210,41,12,ES_CENTER | ES_READONLY - GROUPBOX "Presets",-1,1,258,393,36 - COMBOBOX IDC_FILTERPRESETS,13,273,183,150,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Load",IDC_FILTERPRESETLOAD,205,272,55,14 - PUSHBUTTON "Save",IDC_FILTERPRESETSAVE,265,272,55,14 - PUSHBUTTON "Delete",IDC_FILTERPRESETDELETE,325,272,55,14 - COMBOBOX IDC_FILTERFILTERV,233,31,29,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + "Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,210,126,11 + CONTROL "Keep aspect ratio",IDC_FILTERKEEPASPECT,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_GROUP | WS_TABSTOP,14,225,126,11 + COMBOBOX IDC_FILTERASPECT2,14,241,99,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Extra Settings",-1,154,173,240,89 + COMBOBOX IDC_FILTERXTRA,177,193,138,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_FILTERSLR,327,193,41,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Slider1",IDC_FILTERXL,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,179,216,141,19 + EDITTEXT IDC_FILTERXLV,327,218,41,12,ES_CENTER | ES_READONLY + GROUPBOX "Presets",-1,1,266,393,36 + COMBOBOX IDC_FILTERPRESETS,13,281,183,150,CBS_DROPDOWN | CBS_SORT | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Load",IDC_FILTERPRESETLOAD,205,280,55,14 + PUSHBUTTON "Save",IDC_FILTERPRESETSAVE,265,280,55,14 + PUSHBUTTON "Delete",IDC_FILTERPRESETDELETE,325,280,55,14 + COMBOBOX IDC_FILTERFILTERV,233,39,29,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP END IDD_HARDDRIVE DIALOGEX 0, 0, 397, 219 @@ -994,35 +994,35 @@ BEGIN EDITTEXT IDC_HDFINFO3,7,173,217,12,ES_CENTER | ES_READONLY END -IDD_MISC2 DIALOGEX 0, 0, 396, 278 +IDD_MISC2 DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "When Active",IDC_STATIC,1,7,125,105 - CTEXT "Run at priority:",IDC_ACTIVE_PRI,10,18,108,10,SS_CENTERIMAGE | WS_TABSTOP - COMBOBOX IDC_ACTIVE_PRIORITY,10,33,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CTEXT "Mouse uncaptured:",IDC_STATIC,10,50,101,15,SS_CENTERIMAGE - CONTROL "Pause emulation",IDC_ACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,67,109,10 - CONTROL "Disable sound",IDC_ACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,81,109,10 - GROUPBOX "When Inactive",IDC_STATIC,133,7,126,105 - CTEXT "Run at priority:",IDC_INACTIVE_PRI,144,18,107,10,SS_CENTERIMAGE | WS_TABSTOP - COMBOBOX IDC_INACTIVE_PRIORITY,144,33,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Pause emulation",IDC_INACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,67,109,10 - CONTROL "Disable sound",IDC_INACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,81,109,10 - CONTROL "Disable game controllers",IDC_INACTIVE_NOJOY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,95,109,10 - GROUPBOX "When Minimized",IDC_STATIC,269,7,125,105 - CTEXT "Run at priority:",IDC_MINIMIZED_PRI,278,19,109,10,SS_CENTERIMAGE | WS_TABSTOP - COMBOBOX IDC_MINIMIZED_PRIORITY,278,33,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - CONTROL "Pause emulation",IDC_MINIMIZED_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,67,108,10 - CONTROL "Disable sound",IDC_MINIMIZED_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,81,108,10 - CONTROL "Disable game controllers",IDC_MINIMIZED_NOJOY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,95,107,10 - GROUPBOX "File Extension Associations",IDC_STATIC,0,120,260,155 - CONTROL "",IDC_ASSOCIATELIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,9,137,238,108 - PUSHBUTTON "Associate all",IDC_ASSOCIATE_ON,36,253,85,14 - PUSHBUTTON "Deassociate all",IDC_ASSOCIATE_OFF,125,253,85,14 -END - -IDD_DISK DIALOGEX 0, 0, 396, 318 + GROUPBOX "When Active",IDC_STATIC,1,24,125,105 + CTEXT "Run at priority:",IDC_ACTIVE_PRI,10,35,108,10,SS_CENTERIMAGE | WS_TABSTOP + COMBOBOX IDC_ACTIVE_PRIORITY,10,50,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CTEXT "Mouse uncaptured:",IDC_STATIC,10,67,101,15,SS_CENTERIMAGE + CONTROL "Pause emulation",IDC_ACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,84,109,10 + CONTROL "Disable sound",IDC_ACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,98,109,10 + GROUPBOX "When Inactive",IDC_STATIC,133,24,126,105 + CTEXT "Run at priority:",IDC_INACTIVE_PRI,144,35,107,10,SS_CENTERIMAGE | WS_TABSTOP + COMBOBOX IDC_INACTIVE_PRIORITY,144,50,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Pause emulation",IDC_INACTIVE_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,84,109,10 + CONTROL "Disable sound",IDC_INACTIVE_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,98,109,10 + CONTROL "Disable game controllers",IDC_INACTIVE_NOJOY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,143,112,109,10 + GROUPBOX "When Minimized",IDC_STATIC,269,24,125,105 + CTEXT "Run at priority:",IDC_MINIMIZED_PRI,278,36,109,10,SS_CENTERIMAGE | WS_TABSTOP + COMBOBOX IDC_MINIMIZED_PRIORITY,278,50,108,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + CONTROL "Pause emulation",IDC_MINIMIZED_PAUSE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,84,108,10 + CONTROL "Disable sound",IDC_MINIMIZED_NOSOUND,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,98,108,10 + CONTROL "Disable game controllers",IDC_MINIMIZED_NOJOY,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,280,112,107,10 + GROUPBOX "File Extension Associations",IDC_STATIC,0,137,260,155 + CONTROL "",IDC_ASSOCIATELIST,"SysListView32",LVS_REPORT | LVS_SINGLESEL | LVS_SHOWSELALWAYS | LVS_ALIGNLEFT | LVS_NOSORTHEADER | WS_BORDER | WS_TABSTOP,9,154,238,108 + PUSHBUTTON "Associate all",IDC_ASSOCIATE_ON,36,270,85,14 + PUSHBUTTON "Deassociate all",IDC_ASSOCIATE_OFF,125,270,85,14 +END + +IDD_DISK DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_SETFOREGROUND | DS_3DLOOK | DS_CONTROL | DS_CENTER | DS_CENTERMOUSE | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN @@ -1051,89 +1051,89 @@ BEGIN CONTROL "",IDC_PANELTREE,"SysTreeView32",TVS_HASLINES | TVS_SHOWSELALWAYS | TVS_TRACKSELECT | TVS_NOHSCROLL | WS_BORDER | WS_TABSTOP,3,5,110,321,WS_EX_CLIENTEDGE END -IDD_PATHS DIALOGEX 0, 0, 396, 303 +IDD_PATHS DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - LTEXT "System ROMs:",IDC_PATHS_ROML,3,2,138,8,SS_CENTERIMAGE - EDITTEXT IDC_PATHS_ROM,3,13,377,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_PATHS_ROMS,384,13,11,15 - CONTROL "Scan subfolders",IDC_PATHS_RECURSIVEROMS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,1,197,11 - LTEXT "Configuration files:",IDC_PATHS_CONFIGL,3,32,134,8,SS_CENTERIMAGE - EDITTEXT IDC_PATHS_CONFIG,3,44,377,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_PATHS_CONFIGS,384,43,11,15 - CONTROL "Cache Configuration files",IDC_PATHS_CONFIGCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,31,99,11 - LTEXT "Screenshots:",IDC_PATHS_SCREENSHOTL,3,62,143,8,SS_CENTERIMAGE - EDITTEXT IDC_PATHS_SCREENSHOT,3,73,377,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_PATHS_SCREENSHOTS,384,72,11,15 - LTEXT "State files:",IDC_PATHS_STATEFILEL,3,91,129,8,SS_CENTERIMAGE - EDITTEXT IDC_PATHS_SAVESTATE,3,102,377,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_PATHS_SAVESTATES,384,101,11,15 - LTEXT "Videos:",IDC_PATHS_AVIOUTPUTL,3,120,130,8,SS_CENTERIMAGE - EDITTEXT IDC_PATHS_AVIOUTPUT,3,131,377,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_PATHS_AVIOUTPUTS,384,130,11,15 - LTEXT "Saveimages:",IDC_PATHS_SAVEIMAGEL,3,149,129,8,SS_CENTERIMAGE - EDITTEXT IDC_PATHS_SAVEIMAGE,3,161,377,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_PATHS_SAVEIMAGES,384,160,11,15 + LTEXT "System ROMs:",IDC_PATHS_ROML,3,8,138,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_ROM,3,19,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_ROMS,384,19,11,15 + CONTROL "Scan subfolders",IDC_PATHS_RECURSIVEROMS,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,7,197,11 + LTEXT "Configuration files:",IDC_PATHS_CONFIGL,3,38,134,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_CONFIG,3,50,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_CONFIGS,384,49,11,15 + CONTROL "Cache Configuration files",IDC_PATHS_CONFIGCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,37,99,11 + LTEXT "Screenshots:",IDC_PATHS_SCREENSHOTL,3,68,143,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_SCREENSHOT,3,79,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_SCREENSHOTS,384,78,11,15 + LTEXT "State files:",IDC_PATHS_STATEFILEL,3,97,129,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_SAVESTATE,3,108,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_SAVESTATES,384,107,11,15 + LTEXT "Videos:",IDC_PATHS_AVIOUTPUTL,3,126,130,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_AVIOUTPUT,3,137,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_AVIOUTPUTS,384,136,11,15 + LTEXT "Saveimages:",IDC_PATHS_SAVEIMAGEL,3,155,129,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_SAVEIMAGE,3,167,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_SAVEIMAGES,384,166,11,15 CONTROL "Use original image's path",IDC_PATHS_SAVEIMAGEORIGINALPATH, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,148,197,11 - LTEXT "Rips:",IDC_PATHS_RIPSL,3,179,131,8,SS_CENTERIMAGE - EDITTEXT IDC_PATHS_RIP,3,190,377,15,ES_AUTOHSCROLL - PUSHBUTTON "...",IDC_PATHS_RIPS,383,189,11,15 - PUSHBUTTON "Reset to defaults",IDC_PATHS_DEFAULT,2,212,92,14 - PUSHBUTTON "Rescan ROMs",IDC_ROM_RESCAN,2,229,92,14 - COMBOBOX IDC_PATHS_DEFAULTTYPE,99,213,163,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Clear disk history",IDC_RESETDISKHISTORY,99,229,92,14 - CONTROL "Use relative paths",IDC_PATHS_RELATIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,199,231,94,11 - PUSHBUTTON "Clear registry",IDC_RESETREGISTRY,302,212,92,14 - CONTROL "Portable mode",IDC_REGISTRYMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,303,231,82,11 - GROUPBOX "Debug logging",IDC_STATIC,1,248,393,53 - COMBOBOX IDC_LOGSELECT,7,263,137,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Enable full logging",IDC_LOGENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,264,93,12 - CONTROL "Log window",IDC_LOGENABLE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,254,264,68,12 - PUSHBUTTON "Save All [] Create zip file that includes both logs and config file.",IDC_LOGSAVE,337,264,51,14 - PUSHBUTTON "Open [] Open selected file.",IDC_LOGOPEN,337,280,51,14 - EDITTEXT IDC_LOGPATH,7,281,324,13,ES_READONLY - CONTROL "Cache Boxart files",IDC_PATHS_ARTCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,267,31,125,11 -END - -IDD_QUICKSTART DIALOGEX 0, 0, 396, 262 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,147,154,197,11 + LTEXT "Rips:",IDC_PATHS_RIPSL,3,185,131,8,SS_CENTERIMAGE + EDITTEXT IDC_PATHS_RIP,3,196,377,15,ES_AUTOHSCROLL + PUSHBUTTON "...",IDC_PATHS_RIPS,383,195,11,15 + PUSHBUTTON "Reset to defaults",IDC_PATHS_DEFAULT,2,218,92,14 + PUSHBUTTON "Rescan ROMs",IDC_ROM_RESCAN,2,235,92,14 + COMBOBOX IDC_PATHS_DEFAULTTYPE,99,219,163,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Clear disk history",IDC_RESETDISKHISTORY,99,235,92,14 + CONTROL "Use relative paths",IDC_PATHS_RELATIVE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,199,237,94,11 + PUSHBUTTON "Clear registry",IDC_RESETREGISTRY,302,218,92,14 + CONTROL "Portable mode",IDC_REGISTRYMODE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,303,237,82,11 + GROUPBOX "Debug logging",IDC_STATIC,1,254,393,53 + COMBOBOX IDC_LOGSELECT,7,269,137,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Enable full logging",IDC_LOGENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,151,270,93,12 + CONTROL "Log window",IDC_LOGENABLE2,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,254,270,68,12 + PUSHBUTTON "Save All [] Create zip file that includes both logs and config file.",IDC_LOGSAVE,337,270,51,14 + PUSHBUTTON "Open [] Open selected file.",IDC_LOGOPEN,337,286,51,14 + EDITTEXT IDC_LOGPATH,7,287,324,13,ES_READONLY + CONTROL "Cache Boxart files",IDC_PATHS_ARTCACHE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,267,37,125,11 +END + +IDD_QUICKSTART DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Emulated Hardware",IDC_QUICKSTART_CONFIG,1,0,393,54 - RTEXT "Model:",IDC_STATIC,5,14,68,10,SS_CENTERIMAGE - COMBOBOX IDC_QUICKSTART_MODEL,77,12,263,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Emulated Hardware",IDC_QUICKSTART_CONFIG,1,25,393,54 + RTEXT "Model:",IDC_STATIC,5,39,68,10,SS_CENTERIMAGE + COMBOBOX IDC_QUICKSTART_MODEL,77,37,263,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP CONTROL "NTSC [] North American and Japanese display standard, 60Hz refresh rate. Other countries use PAL (50Hz. display refresh rate)",IDC_NTSC, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,14,35,12 - RTEXT "Configuration:",IDC_STATIC,5,33,68,10,SS_CENTERIMAGE - COMBOBOX IDC_QUICKSTART_CONFIGURATION,77,31,310,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Compatibility vs Required CPU Power ",IDC_QUICKSTART_COMPA,1,58,393,36 - RTEXT "Best compatibility",IDC_STATIC,20,73,98,10,SS_CENTERIMAGE - CONTROL "",IDC_QUICKSTART_COMPATIBILITY,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,145,68,115,21 - LTEXT "Low compatibility",IDC_STATIC,279,74,92,10,SS_CENTERIMAGE - GROUPBOX "Host Configuration",IDC_QUICKSTART_HOST,1,98,393,35 - RTEXT "Configuration:",IDC_STATIC,5,111,68,10,SS_CENTERIMAGE - COMBOBOX IDC_QUICKSTART_HOSTCONFIG,77,109,310,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Emulated Drives",IDC_QUICKSTART_DF,1,138,393,93 - CONTROL "Floppy drive DF0:",IDC_DF0QENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,151,77,15 - PUSHBUTTON "Select image file",IDC_DF0QQ,93,151,98,15 - RTEXT "Write-protected",IDC_DF0WPTEXTQ,196,154,69,10,SS_CENTERIMAGE - CONTROL "",IDC_DF0WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,270,152,10,15 - PUSHBUTTON "?",IDC_INFO0Q,334,151,19,15 - PUSHBUTTON "Eject",IDC_EJECT0Q,358,151,30,15 - COMBOBOX IDC_DF0TEXTQ,9,170,379,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - CONTROL "Floppy drive DF1:",IDC_DF1QENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,189,77,15 - PUSHBUTTON "Select image file",IDC_DF1QQ,93,189,98,15 - RTEXT "Write-protected",IDC_DF1WPTEXTQ,195,192,69,10,SS_CENTERIMAGE - COMBOBOX IDC_CD0Q_TYPE,199,190,74,50,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP - CONTROL "",IDC_DF1WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,270,188,10,15 - PUSHBUTTON "?",IDC_INFO1Q,334,189,19,15 - PUSHBUTTON "Eject",IDC_EJECT1Q,358,189,30,15 - COMBOBOX IDC_DF1TEXTQ,9,207,379,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "Set configuration",IDC_QUICKSTART_SETCONFIG,9,241,88,15,NOT WS_VISIBLE - GROUPBOX "Mode",IDC_STATIC,250,233,144,28,BS_LEFT - CONTROL "Start in Quickstart mode",IDC_QUICKSTARTMODE,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,259,244,131,12 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,347,39,35,12 + RTEXT "Configuration:",IDC_STATIC,5,58,68,10,SS_CENTERIMAGE + COMBOBOX IDC_QUICKSTART_CONFIGURATION,77,56,310,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Compatibility vs Required CPU Power ",IDC_QUICKSTART_COMPA,1,83,393,36 + RTEXT "Best compatibility",IDC_STATIC,20,98,98,10,SS_CENTERIMAGE + CONTROL "",IDC_QUICKSTART_COMPATIBILITY,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,145,93,115,21 + LTEXT "Low compatibility",IDC_STATIC,279,99,92,10,SS_CENTERIMAGE + GROUPBOX "Host Configuration",IDC_QUICKSTART_HOST,1,123,393,35 + RTEXT "Configuration:",IDC_STATIC,5,136,68,10,SS_CENTERIMAGE + COMBOBOX IDC_QUICKSTART_HOSTCONFIG,77,134,310,50,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Emulated Drives",IDC_QUICKSTART_DF,1,163,393,93 + CONTROL "Floppy drive DF0:",IDC_DF0QENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,176,77,15 + PUSHBUTTON "Select image file",IDC_DF0QQ,93,176,98,15 + RTEXT "Write-protected",IDC_DF0WPTEXTQ,196,179,69,10,SS_CENTERIMAGE + CONTROL "",IDC_DF0WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,270,177,10,15 + PUSHBUTTON "?",IDC_INFO0Q,334,176,19,15 + PUSHBUTTON "Eject",IDC_EJECT0Q,358,176,30,15 + COMBOBOX IDC_DF0TEXTQ,9,195,379,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + CONTROL "Floppy drive DF1:",IDC_DF1QENABLE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,10,214,77,15 + PUSHBUTTON "Select image file",IDC_DF1QQ,93,214,98,15 + RTEXT "Write-protected",IDC_DF1WPTEXTQ,195,217,69,10,SS_CENTERIMAGE + COMBOBOX IDC_CD0Q_TYPE,199,215,74,50,CBS_DROPDOWNLIST | NOT WS_VISIBLE | WS_VSCROLL | WS_TABSTOP + CONTROL "",IDC_DF1WPQ,"Button",BS_AUTOCHECKBOX | BS_MULTILINE | WS_TABSTOP,270,213,10,15 + PUSHBUTTON "?",IDC_INFO1Q,334,214,19,15 + PUSHBUTTON "Eject",IDC_EJECT1Q,358,214,30,15 + COMBOBOX IDC_DF1TEXTQ,9,232,379,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "Set configuration",IDC_QUICKSTART_SETCONFIG,9,266,88,15,NOT WS_VISIBLE + GROUPBOX "Mode",IDC_STATIC,250,258,144,28,BS_LEFT + CONTROL "Start in Quickstart mode",IDC_QUICKSTARTMODE,"Button",BS_AUTOCHECKBOX | BS_LEFT | WS_TABSTOP,259,269,131,12 END IDD_FRONTEND DIALOGEX 0, 0, 420, 242 @@ -1169,7 +1169,7 @@ IDD_DEBUGGER DIALOGEX 0, 0, 454, 368 STYLE DS_LOCALEDIT | DS_SETFONT | DS_MODALFRAME | DS_3DLOOK | WS_MINIMIZEBOX | WS_MAXIMIZEBOX | WS_POPUP | WS_CAPTION | WS_SYSMENU EXSTYLE WS_EX_CONTROLPARENT CAPTION "WinUAE Debugger" -FONT 8, "Courier New", 0, 0, 0x0 +FONT 8, "MS Sans Serif", 0, 0, 0x0 BEGIN LISTBOX IDC_DBG_DREG,1,1,52,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT LISTBOX IDC_DBG_AREG,54,1,52,66,LBS_OWNERDRAWFIXED | LBS_HASSTRINGS | LBS_NOINTEGRALHEIGHT @@ -1211,42 +1211,42 @@ BEGIN CTEXT "Enter address",IDC_DBG_ADDRINPUTTXT,20,1,100,10,SS_CENTERIMAGE | WS_TABSTOP END -IDD_EXPANSION DIALOGEX 0, 0, 396, 208 +IDD_EXPANSION DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "RTG Graphics Card",IDC_STATIC,1,0,393,198 - COMBOBOX IDC_RTG_Z2Z3,26,29,215,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_RTG_NUM,248,29,37,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - RTEXT "VRAM size: [] Graphics card memory. Required for RTG (Picasso96) emulation.",IDC_GFXCARDTEXT,2,50,76,10,SS_NOTIFY | SS_CENTERIMAGE - CONTROL "",IDC_P96MEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,88,46,103,20 - EDITTEXT IDC_P96RAM,201,49,40,12,ES_CENTER | ES_READONLY + GROUPBOX "RTG Graphics Card",IDC_STATIC,1,48,393,198 + COMBOBOX IDC_RTG_Z2Z3,26,77,215,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RTG_NUM,248,77,37,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + RTEXT "VRAM size: [] Graphics card memory. Required for RTG (Picasso96) emulation.",IDC_GFXCARDTEXT,2,98,76,10,SS_NOTIFY | SS_CENTERIMAGE + CONTROL "",IDC_P96MEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,88,94,103,20 + EDITTEXT IDC_P96RAM,201,97,40,12,ES_CENTER | ES_READONLY CONTROL "Match host and RTG color depth if possible",IDC_RTG_MATCH_DEPTH, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,69,177,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,117,177,10 CONTROL "Scale if smaller than display size setting",IDC_RTG_SCALE, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,82,175,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,130,175,10 CONTROL "Always scale in windowed mode",IDC_RTG_SCALE_ALLOW, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,95,170,10 - CONTROL "Always center",IDC_RTG_CENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,108,169,10 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,143,170,10 + CONTROL "Always center",IDC_RTG_CENTER,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,156,169,10 CONTROL "Hardware vertical blank interrupt",IDC_RTG_VBINTERRUPT, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,121,157,10 - CONTROL "Hardware sprite emulation",IDC_RTG_HWSPRITE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,121,148,10 - CTEXT "Color modes:",IDC_STATIC,295,33,83,10,SS_CENTERIMAGE - COMBOBOX IDC_RTG_8BIT,296,48,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_RTG_16BIT,296,65,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_RTG_24BIT,296,83,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_RTG_32BIT,296,100,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_RTG_DISPLAYSELECT,11,140,371,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CTEXT "Refresh rate:",IDC_STATIC,30,164,83,10,SS_CENTERIMAGE - COMBOBOX IDC_RTG_VBLANKRATE,29,179,84,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CTEXT "Buffer mode:",IDC_STATIC,154,164,83,10,SS_CENTERIMAGE - COMBOBOX IDC_RTG_BUFFERCNT,153,179,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CTEXT "Aspect ratio:",IDC_STATIC,282,164,83,10,SS_CENTERIMAGE - COMBOBOX IDC_RTG_SCALE_ASPECTRATIO,282,179,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP - CONTROL "Multithreaded",IDC_RTG_THREAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,108,83,10 - LTEXT "Board:",IDC_STATIC,29,14,61,10 - COMBOBOX IDC_MONITOREMU_MON,175,13,65,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - LTEXT "Monitor:",IDC_STATIC,105,14,65,10,0,WS_EX_RIGHT + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,25,169,157,10 + CONTROL "Hardware sprite emulation",IDC_RTG_HWSPRITE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,169,148,10 + CTEXT "Color modes:",IDC_STATIC,295,81,83,10,SS_CENTERIMAGE + COMBOBOX IDC_RTG_8BIT,296,96,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RTG_16BIT,296,113,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RTG_24BIT,296,131,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RTG_32BIT,296,148,82,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_RTG_DISPLAYSELECT,11,188,371,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CTEXT "Refresh rate:",IDC_STATIC,30,212,83,10,SS_CENTERIMAGE + COMBOBOX IDC_RTG_VBLANKRATE,29,227,84,150,CBS_DROPDOWN | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CTEXT "Buffer mode:",IDC_STATIC,154,212,83,10,SS_CENTERIMAGE + COMBOBOX IDC_RTG_BUFFERCNT,153,227,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CTEXT "Aspect ratio:",IDC_STATIC,282,212,83,10,SS_CENTERIMAGE + COMBOBOX IDC_RTG_SCALE_ASPECTRATIO,282,227,84,150,CBS_DROPDOWNLIST | CBS_HASSTRINGS | WS_VSCROLL | WS_TABSTOP + CONTROL "Multithreaded",IDC_RTG_THREAD,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,207,156,83,10 + LTEXT "Board:",IDC_STATIC,29,62,61,10 + COMBOBOX IDC_MONITOREMU_MON,175,61,65,65,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + LTEXT "Monitor:",IDC_STATIC,105,62,65,10,0,WS_EX_RIGHT END IDD_INPUTMAP DIALOGEX 0, 0, 421, 341 @@ -1332,45 +1332,45 @@ BEGIN EDITTEXT IDC_DISKINFOBOX,5,4,481,292,ES_MULTILINE | ES_READONLY | WS_VSCROLL END -IDD_EXPANSION2 DIALOGEX 0, 0, 396, 248 +IDD_EXPANSION2 DIALOGEX 0, 0, 396, 316 STYLE DS_LOCALEDIT | DS_SETFONT | DS_3DLOOK | DS_CONTROL | WS_CHILD FONT 8, "MS Sans Serif", 0, 0, 0x1 BEGIN - GROUPBOX "Expansion Board Settings",IDC_STATIC,1,6,394,88 - COMBOBOX IDC_SCSIROMSELECTCAT,12,23,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_SCSIROMSELECT,12,42,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_SCSIROMSUBSELECT,12,59,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_EXPANSIONBOARDITEMSELECTOR,12,76,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_SCSIROMSELECTNUM,175,42,22,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - RTEXT "Controller ID:",IDC_STATIC,241,23,110,15,SS_CENTERIMAGE - COMBOBOX IDC_SCSIROMID,356,24,29,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_SCSIROMCHOOSER,376,42,10,15 - CONTROL "Autoboot disabled",IDC_SCSIROMFILEAUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,62,94,12 - CONTROL "",IDC_EXPANSIONBOARDCHECKBOX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,76,99,12 - EDITTEXT IDC_EXPANSIONBOARDSTRINGBOX,202,76,172,14,ES_AUTOHSCROLL - COMBOBOX IDC_EXPANSIONBOARDSELECTOR,202,76,171,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_SCSIROMFILE,202,42,171,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - GROUPBOX "Accelerator Board Settings",IDC_STATIC,1,97,394,91 - COMBOBOX IDC_CPUBOARD_TYPE,13,118,117,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_CPUBOARD_SUBTYPE,13,137,117,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_ACCELERATORBOARDITEMSELECTOR,12,169,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - COMBOBOX IDC_ACCELERATORBOARDSELECTOR,202,169,171,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - RTEXT "Accelerator board memory:",IDC_STATIC,155,145,104,15,SS_CENTERIMAGE - LTEXT "Accelerator board ROM file:",IDC_STATIC,203,105,170,15,SS_CENTERIMAGE - COMBOBOX IDC_CPUBOARDROMFILE,202,120,169,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP - PUSHBUTTON "...",IDC_CPUBOARDROMCHOOSER,376,119,10,15 - CONTROL "",IDC_CPUBOARDMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,269,143,68,20 - EDITTEXT IDC_CPUBOARDRAM,343,147,40,12,ES_CENTER | ES_READONLY - CONTROL "",IDC_ACCELERATORBOARDCHECKBOX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,170,99,12 - GROUPBOX "Miscellaneous Expansions",IDC_STATIC,1,192,394,51 + GROUPBOX "Expansion Board Settings",IDC_STATIC,1,42,394,88 + COMBOBOX IDC_SCSIROMSELECTCAT,12,59,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SCSIROMSELECT,12,78,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SCSIROMSUBSELECT,12,95,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_EXPANSIONBOARDITEMSELECTOR,12,112,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SCSIROMSELECTNUM,175,78,22,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + RTEXT "Controller ID:",IDC_STATIC,241,59,110,15,SS_CENTERIMAGE + COMBOBOX IDC_SCSIROMID,356,60,29,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "...",IDC_SCSIROMCHOOSER,376,78,10,15 + CONTROL "Autoboot disabled",IDC_SCSIROMFILEAUTOBOOT,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,98,94,12 + CONTROL "",IDC_EXPANSIONBOARDCHECKBOX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,112,99,12 + EDITTEXT IDC_EXPANSIONBOARDSTRINGBOX,202,112,172,14,ES_AUTOHSCROLL + COMBOBOX IDC_EXPANSIONBOARDSELECTOR,202,112,171,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_SCSIROMFILE,202,78,171,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + GROUPBOX "Accelerator Board Settings",IDC_STATIC,1,133,394,91 + COMBOBOX IDC_CPUBOARD_TYPE,13,154,117,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_CPUBOARD_SUBTYPE,13,173,117,75,CBS_DROPDOWNLIST | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_ACCELERATORBOARDITEMSELECTOR,12,205,157,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + COMBOBOX IDC_ACCELERATORBOARDSELECTOR,202,205,171,75,CBS_DROPDOWNLIST | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + RTEXT "Accelerator board memory:",IDC_STATIC,155,181,104,15,SS_CENTERIMAGE + LTEXT "Accelerator board ROM file:",IDC_STATIC,203,141,170,15,SS_CENTERIMAGE + COMBOBOX IDC_CPUBOARDROMFILE,202,156,169,75,CBS_DROPDOWN | CBS_AUTOHSCROLL | WS_VSCROLL | WS_TABSTOP + PUSHBUTTON "...",IDC_CPUBOARDROMCHOOSER,376,155,10,15 + CONTROL "",IDC_CPUBOARDMEM,"msctls_trackbar32",TBS_AUTOTICKS | TBS_TOP | WS_TABSTOP,269,179,68,20 + EDITTEXT IDC_CPUBOARDRAM,343,183,40,12,ES_CENTER | ES_READONLY + CONTROL "",IDC_ACCELERATORBOARDCHECKBOX,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,206,99,12 + GROUPBOX "Miscellaneous Expansions",IDC_STATIC,1,228,394,51 CONTROL "bsdsocket.library [] bsdsocket network library emulation.",IDC_SOCKETS, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,207,179,11 - CONTROL "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,223,180,11 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,243,179,11 + CONTROL "uaescsi.device",IDC_SCSIDEVICE,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,6,259,180,11 CONTROL "uaenet.device [] Sana 2 compatible network device emulation.",IDC_SANA2, - "Button",BS_AUTOCHECKBOX | WS_TABSTOP,193,207,187,11 - CONTROL "CD32 Full Motion Video cartridge",IDC_CS_CD32FMV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,193,223,193,11 - CONTROL "Enabled",IDC_SCSIROMSELECTED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,43,99,12 - CONTROL "PCMCIA inserted",IDC_SCSIROMFILEPCMCIA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,301,62,84,12 + "Button",BS_AUTOCHECKBOX | WS_TABSTOP,193,243,187,11 + CONTROL "CD32 Full Motion Video cartridge",IDC_CS_CD32FMV,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,193,259,193,11 + CONTROL "Enabled",IDC_SCSIROMSELECTED,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,202,79,99,12 + CONTROL "PCMCIA inserted",IDC_SCSIROMFILEPCMCIA,"Button",BS_AUTOCHECKBOX | WS_TABSTOP,301,98,84,12 END IDD_CHSQUERY DIALOGEX 0, 0, 396, 85 @@ -1415,7 +1415,7 @@ BEGIN VALUE "FileDescription", "WinUAE" VALUE "FileVersion", "4.3.0.0" VALUE "InternalName", "WinUAE" - VALUE "LegalCopyright", "© 1996-2019 under the GNU Public License (GPL)" + VALUE "LegalCopyright", "© 1996-2019 under the GNU Public License (GPL)" VALUE "OriginalFilename", "WinUAE.exe" VALUE "ProductName", "WinUAE" VALUE "ProductVersion", "4.3.0.0" @@ -1836,7 +1836,7 @@ BEGIN IDS_SELECTFILESYSROOT "Please select the root directory of the file system..." IDS_DEFAULTMIDIOUT "Default MIDI-Out Device" IDS_CONTRIBUTORS1 "Bernd Schmidt - The Grand-Master\nSam Jordan - Custom-chip, floppy-DMA, etc.\nMathias Ortmann - Original WinUAE Main Guy, BSD Socket support\nBrian King - Picasso96 Support, Integrated GUI for WinUAE, previous WinUAE Main Guy\nToni Wilen - Core updates, WinUAE Main Guy\nGustavo Goedert/Peter Remmers/Michael Sontheimer/Tomi Hakala/Tim Gunn/Nemo Pohle - DOS Port Stuff\nSamuel Devulder/Olaf Barthel/Sam Jordan - Amiga Ports\nKrister Bergman - XFree86 and OS/2 Port\nA. Blanchard/Ernesto Corvi - MacOS Port\nChristian Bauer - BeOS Port\nIan Stephenson - NextStep Port\nPeter Teichmann - Acorn/RiscOS Port\nStefan Reinauer - ZorroII/III AutoConfig, Serial Support\nChristian Schmitt/Chris Hames - Serial Support\nHerman ten Brugge - 68020/68881 Emulation Code\nTauno Taipaleenmaki - Various UAE-Control/UAE-Library Support\nBrett Eden/Tim Gunn/Paolo Besser/Nemo Pohle - Various Docs and Web-Sites\nGeorg Veichtlbauer - Help File coordinator, German GUI\nFulvio Leonardi - Italian translator for WinUAE\n" - IDS_CONTRIBUTORS2 "Arnljot Arntsen, Bill Panagouleas, Cloanto, Zak Jennings - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser - Postscript printing emulation idea and testing.\nPéter Tóth /Balázs Rátkai/Iván Herczeg/András Arató - Hungarian translation.\nKarsten Bock, Gavin Fance, Dirk Trowe and Christian Schindler - Freezer cartridge hardware support.\nMikko Nieminen - Demo compatibility testing.\nArabuusimiehet - [This information is on a need-to-know basis]" + IDS_CONTRIBUTORS2 "Arnljot Arntsen, Bill Panagouleas, Cloanto, Zak Jennings - Hardware support\nSpecial thanks to Alexander Kneer and Tobias Abt (The Picasso96 Team)\nSteven Weiser - Postscript printing emulation idea and testing.\nPéter Tóth /Balázs Rátkai/Iván Herczeg/András Arató - Hungarian translation.\nKarsten Bock, Gavin Fance, Dirk Trowe and Christian Schindler - Freezer cartridge hardware support.\nMikko Nieminen - Demo compatibility testing.\nArabuusimiehet - [This information is on a need-to-know basis]" IDS_INVALIDPRTPORT "The printer you have in this configuration is not valid on this machine.\n" IDS_RESTOREUSS "Restore a WinUAE snapshot file" IDS_USS "WinUAE snapshot files" diff --git a/od-win32/win32.cpp b/od-win32/win32.cpp index ee3f76f9..9c5d966f 100644 --- a/od-win32/win32.cpp +++ b/od-win32/win32.cpp @@ -40,6 +40,7 @@ #include #include #include +#include #include "resource.h" @@ -234,6 +235,40 @@ static GETTOUCHINPUTINFO pGetTouchInputInfo; static CLOSETOUCHINPUTHANDLE pCloseTouchInputHandle; #endif +int getdpiformonitor(HMONITOR mon) +{ + if (mon) { + static HMODULE shcore; + if (!shcore) + shcore = LoadLibrary(_T("Shcore.dll")); + if (shcore) { + typedef HRESULT(CALLBACK *GETDPIFORMONITOR)(HMONITOR, MONITOR_DPI_TYPE, UINT *, UINT *); + GETDPIFORMONITOR pGetDpiForMonitor = (GETDPIFORMONITOR)GetProcAddress(shcore, "GetDpiForMonitor"); + if (pGetDpiForMonitor) { + UINT x, y; + if (SUCCEEDED(pGetDpiForMonitor(mon, MDT_EFFECTIVE_DPI, &x, &y))) + return y; + } + } + } + HDC hdc = GetDC(NULL); + int dpi = GetDeviceCaps(hdc, LOGPIXELSX); + ReleaseDC(NULL, hdc); + return dpi; +} + +int getdpiforwindow(HWND hwnd) +{ + typedef UINT(CALLBACK *GETDPIFORWINDOW)(HWND); + GETDPIFORWINDOW pGetDpiForWindow = (GETDPIFORWINDOW)GetProcAddress(userdll, "GetDpiForWindow"); + if (pGetDpiForWindow) + return pGetDpiForWindow(hwnd); + HDC hdc = GetDC(NULL); + int dpi = GetDeviceCaps(hdc, LOGPIXELSY); + ReleaseDC(NULL, hdc); + return dpi; +} + static ULONG ActualTimerResolution; int target_sleep_nanos(int nanos) diff --git a/od-win32/win32.h b/od-win32/win32.h index d984708d..9e7f815f 100644 --- a/od-win32/win32.h +++ b/od-win32/win32.h @@ -75,6 +75,8 @@ extern void minimizewindow(int monid); extern uae_u32 OSDEP_minimize_uae(void); extern void updatemouseclip(struct AmigaMonitor*); extern void updatewinrect(struct AmigaMonitor*, bool); +int getdpiformonitor(HMONITOR mon); +int getdpiforwindow(HWND hwnd); extern bool resumepaused (int priority); extern bool setpaused (int priority); diff --git a/od-win32/win32gfx.cpp b/od-win32/win32gfx.cpp index 90839076..403382af 100644 --- a/od-win32/win32gfx.cpp +++ b/od-win32/win32gfx.cpp @@ -21,7 +21,6 @@ #include #include #include -#include #include "sysdeps.h" @@ -2224,40 +2223,6 @@ static void reopen_gfx(struct AmigaMonitor *mon) render_screen(mon->monitor_id, 1, true); } -static int getdpiformonitor(HMONITOR mon) -{ - if (mon) { - static HMODULE shcore; - if (!shcore) - shcore = LoadLibrary(_T("Shcore.dll")); - if (shcore) { - typedef HRESULT(CALLBACK * GETDPIFORMONITOR)(HMONITOR, MONITOR_DPI_TYPE, UINT*, UINT*); - GETDPIFORMONITOR pGetDpiForMonitor = (GETDPIFORMONITOR)GetProcAddress(userdll, "GetDpiForMonitor"); - if (pGetDpiForMonitor) { - UINT x, y; - if (SUCCEEDED(pGetDpiForMonitor(mon, MDT_EFFECTIVE_DPI, &x, &y))) - return y; - } - } - } - HDC hdc = GetDC(NULL); - int dpi = GetDeviceCaps(hdc, LOGPIXELSX); - ReleaseDC(NULL, hdc); - return dpi; -} - -static int getdpiforwindow(HWND hwnd) -{ - typedef UINT (CALLBACK *GETDPIFORWINDOW)(HWND); - GETDPIFORWINDOW pGetDpiForWindow = (GETDPIFORWINDOW)GetProcAddress(userdll, "GetDpiForWindow"); - if (pGetDpiForWindow) - return pGetDpiForWindow(hwnd); - HDC hdc = GetDC(NULL); - int dpi = GetDeviceCaps(hdc, LOGPIXELSY); - ReleaseDC(NULL, hdc); - return dpi; -} - static int getstatuswindowheight(int monid, HWND hwnd) { if (monid > 0) diff --git a/od-win32/win32gui.cpp b/od-win32/win32gui.cpp index e8be66ba..17d8c98b 100644 --- a/od-win32/win32gui.cpp +++ b/od-win32/win32gui.cpp @@ -130,6 +130,8 @@ static int currentpage = -1; static int qs_request_reset; static int qs_override; int gui_active, gui_left; +static struct newresource *panelresource; +int dialog_inhibit; #undef HtmlHelp #ifndef HH_DISPLAY_TOPIC @@ -378,6 +380,9 @@ static void commonproc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) static int stringboxdialogactive; static INT_PTR CALLBACK StringBoxDialogProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + if (dialog_inhibit) + return 0; + switch(msg) { case WM_DESTROY: @@ -1702,6 +1707,9 @@ static bool infoboxdialogstate; static HWND infoboxhwnd; static INT_PTR CALLBACK InfoBoxDialogProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + if (dialog_inhibit) + return 0; + switch(msg) { case WM_DESTROY: @@ -5645,6 +5653,9 @@ static INT_PTR CALLBACK InfoSettingsProc (HWND hDlg, UINT msg, WPARAM wParam, LP { static int recursive = 0; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -6197,6 +6208,9 @@ static INT_PTR CALLBACK LoadSaveDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPA static int recursive; static struct ConfigStruct *config; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -6325,6 +6339,9 @@ static INT_PTR CALLBACK ErrorLogProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM CHARFORMAT CharFormat; TCHAR *err; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_COMMAND: if (wParam == IDOK) { @@ -6360,6 +6377,9 @@ static INT_PTR CALLBACK ContributorsProc (HWND hDlg, UINT msg, WPARAM wParam, LP TCHAR szContributors2[MAX_CONTRIBUTORS_LENGTH]; TCHAR szContributors[MAX_CONTRIBUTORS_LENGTH * 2]; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_COMMAND: if (wParam == ID_OK) { @@ -6751,6 +6771,9 @@ static INT_PTR CALLBACK PathsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM int val, selpath = 0; TCHAR tmp[MAX_DPATH]; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -7314,6 +7337,9 @@ static INT_PTR CALLBACK QuickstartDlgProc (HWND hDlg, UINT msg, WPARAM wParam, L static int doinit; LRESULT val; + if (dialog_inhibit) + return 0; + switch(msg) { case WM_INITDIALOG: @@ -7532,6 +7558,9 @@ static void init_aboutdlg (HWND hDlg) static INT_PTR CALLBACK AboutDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + if (dialog_inhibit) + return 0; + switch( msg ) { case WM_INITDIALOG: @@ -8541,6 +8570,9 @@ static INT_PTR CALLBACK DisplayDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPAR { static int recursive = 0; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -8759,6 +8791,9 @@ static INT_PTR CALLBACK ChipsetDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPAR static int recursive = 0; TCHAR buffer[MAX_DPATH], tmp[MAX_DPATH]; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: { @@ -9145,6 +9180,9 @@ static INT_PTR CALLBACK ChipsetDlgProc2 (HWND hDlg, UINT msg, WPARAM wParam, LPA static int recursive = 0; TCHAR tmp[MAX_DPATH]; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: { @@ -10508,6 +10546,9 @@ static INT_PTR CALLBACK Expansion2DlgProc(HWND hDlg, UINT msg, WPARAM wParam, LP TCHAR tmp[MAX_DPATH]; static int recursive = 0; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -10902,6 +10943,9 @@ static INT_PTR CALLBACK ExpansionDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LP static int recursive = 0; static int enumerated; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -11194,6 +11238,9 @@ static INT_PTR CALLBACK BoardsDlgProc(HWND hDlg, UINT msg, WPARAM wParam, LPARAM static int recursive = 0; static int selected = -1; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -11321,6 +11368,9 @@ static INT_PTR CALLBACK MemoryDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARA static int recursive = 0; int v; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -11689,6 +11739,9 @@ static INT_PTR CALLBACK KickstartDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LP static int recursive; TCHAR tmp[MAX_DPATH]; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -12135,15 +12188,15 @@ static void getstoredguisize(void) if (full_property_sheet || isfullscreen () == 0) { regqueryint (NULL, _T("GUISizeX"), &gui_width); regqueryint (NULL, _T("GUISizeY"), &gui_height); - scaleresource_init (gui_fullscreen ? _T("GFS") : _T(""), gui_fullscreen); + scaleresource_init(gui_fullscreen ? _T("GFS") : _T(""), gui_fullscreen); } else if (isfullscreen () < 0) { regqueryint (NULL, _T("GUISizeFWX"), &gui_width); regqueryint (NULL, _T("GUISizeFWY"), &gui_height); - scaleresource_init (gui_fullscreen ? _T("FW_GFS") : _T("FW"), gui_fullscreen); + scaleresource_init(gui_fullscreen ? _T("FW_GFS") : _T("FW"), gui_fullscreen); } else if (isfullscreen () > 0) { regqueryint (NULL, _T("GUISizeFSX"), &gui_width); regqueryint (NULL, _T("GUISizeFSY"), &gui_height); - scaleresource_init (gui_fullscreen ? _T("FS_GFS") : _T("FS"), gui_fullscreen); + scaleresource_init(gui_fullscreen ? _T("FS_GFS") : _T("FS"), gui_fullscreen); } } @@ -12312,7 +12365,7 @@ static INT_PTR MiscDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) ResetListViews(); break; case IDC_GUI_DEFAULT: - scaleresource_setdefaults (); + scaleresource_setdefaults(hDlg); v = SendDlgItemMessage (hDlg, IDC_GUI_SIZE, CB_GETCURSEL, 0, 0L); if (v != CB_ERR) { if (v == 0) { @@ -12323,6 +12376,9 @@ static INT_PTR MiscDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) } gui_width = (int)(GUI_INTERNAL_WIDTH * v / 100); gui_height = (int)(GUI_INTERNAL_HEIGHT * v / 100); + int dpi = getdpiforwindow(hDlg); + gui_width = MulDiv(gui_width, dpi, 96); + gui_height = MulDiv(gui_height, dpi, 96); if (gui_width < MIN_GUI_INTERNAL_WIDTH || gui_height < MIN_GUI_INTERNAL_HEIGHT) { gui_width = MIN_GUI_INTERNAL_WIDTH; gui_height = MIN_GUI_INTERNAL_HEIGHT; @@ -12334,9 +12390,6 @@ static INT_PTR MiscDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) case IDC_GUI_FONT: misc_gui_font (hDlg, 0); break; - case IDC_GUI_LISTFONT: - misc_gui_font (hDlg, 1); - break; case IDC_GUI_RESIZE: gui_resize_enabled = ischecked (hDlg, IDC_GUI_RESIZE); gui_fullscreen = -1; @@ -12782,6 +12835,9 @@ static INT_PTR CALLBACK CPUDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l static int recursive = 0; int idx; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: recursive++; @@ -13309,6 +13365,9 @@ static INT_PTR CALLBACK SoundDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM int numdevs; int card, i; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: { @@ -13564,6 +13623,9 @@ static INT_PTR CALLBACK VolumeSettingsProc (HWND hDlg, UINT msg, WPARAM wParam, { static int recursive = 0; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: { @@ -14141,6 +14203,9 @@ static INT_PTR CALLBACK TapeDriveSettingsProc (HWND hDlg, UINT msg, WPARAM wPara int posn, readonly; TCHAR tmp[MAX_DPATH]; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -14248,6 +14313,9 @@ static INT_PTR CALLBACK CDDriveSettingsProc (HWND hDlg, UINT msg, WPARAM wParam, static int recursive = 0; int posn; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -14343,6 +14411,9 @@ static INT_PTR CALLBACK HardfileSettingsProc (HWND hDlg, UINT msg, WPARAM wParam int v; int *p; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_DROPFILES: dragdrop (hDlg, (HDROP)wParam, &changed_prefs, -2); @@ -14615,6 +14686,9 @@ static INT_PTR CALLBACK HarddriveSettingsProc (HWND hDlg, UINT msg, WPARAM wPara LRESULT posn; static int oposn; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: { @@ -15157,6 +15231,9 @@ static void harddiskdlg_volume_notify (HWND hDlg, NM_LISTVIEW *nmlistview) /* harddisk parent view */ static INT_PTR CALLBACK HarddiskDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: clicked_entry = 0; @@ -15782,6 +15859,9 @@ static INT_PTR CALLBACK FloppyDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARA static TCHAR diskname[40] = { _T("") }; static int dropopen; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -16120,6 +16200,9 @@ static INT_PTR CALLBACK SwapperDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPAR static int entry; TCHAR tmp[MAX_DPATH]; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -16942,6 +17025,9 @@ static INT_PTR CALLBACK GamePortsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LP static int first; int temp, i; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -17125,6 +17211,9 @@ static INT_PTR CALLBACK IOPortsDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPAR { static int recursive = 0; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -18116,6 +18205,8 @@ static INT_PTR CALLBACK RemapSpecialsProc(HWND hDlg, UINT msg, WPARAM wParam, LP static int recursive = 0; HWND list = GetDlgItem(hDlg, IDC_LISTDIALOG_LIST); + if (dialog_inhibit) + return 0; switch (msg) { @@ -18203,6 +18294,9 @@ static void input_remapspecials(HWND hDlg) static INT_PTR CALLBACK InputMapDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + if (dialog_inhibit) + return 0; + static int recursive; HWND h = GetDlgItem (hDlg, IDC_INPUTMAPLIST); TCHAR tmp[256]; @@ -18508,6 +18602,9 @@ static void qualifierlistview (HWND list) static INT_PTR CALLBACK QualifierProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM lParam) { + if (dialog_inhibit) + return 0; + static int recursive = 0; HWND list = GetDlgItem (hDlg, IDC_LISTDIALOG_LIST); @@ -18702,6 +18799,9 @@ static INT_PTR CALLBACK InputDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM int items = 0, entry = 0; static int recursive; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_INITDIALOG: @@ -19580,6 +19680,9 @@ static INT_PTR CALLBACK hw3dDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM int i; static int filteroverlaypos = -1; static bool firstinit; + + if (dialog_inhibit) + return 0; switch (msg) { @@ -19991,6 +20094,9 @@ static INT_PTR CALLBACK AVIOutputDlgProc (HWND hDlg, UINT msg, WPARAM wParam, LP static int recursive = 0; TCHAR tmp[1000]; + if (dialog_inhibit) + return 0; + switch(msg) { case WM_INITDIALOG: @@ -20467,7 +20573,6 @@ static HWND updatePanel (int id, UINT action) static HWND hwndTT; static bool first = true; int fullpanel; - struct newresource *tres; SaveListView(panelDlg, false); listview_id = 0; @@ -20475,6 +20580,8 @@ static HWND updatePanel (int id, UINT action) if (!hDlg) return NULL; + SetWindowRedraw(hDlg, FALSE); + if (first) { first = false; getguisize (hDlg, &gui_width, &gui_height); @@ -20529,14 +20636,17 @@ static HWND updatePanel (int id, UINT action) } fullpanel = ppage[id].fullpanel; - tres = scaleresource (ppage[id].nres, &maindctx, hDlg, -1, 0, 0, id + 1); - panelDlg = CreateDialogIndirectParam (tres->inst, tres->resource, hDlg, ppage[id].dlgproc, id); + struct newresource *res = ppage[id].nres; + scaleresource (res, &maindctx, hDlg, -1, 0, 0, id + 1); + res->parent = panelresource; + panelresource->child = res; + panelDlg = x_CreateDialogIndirectParam(res->inst, res->resource, hDlg, ppage[id].dlgproc, id, res); //SetWindowRedraw(hDlg, FALSE); - rescaleresource(tres, &maindctx, hDlg, panelDlg); + rescaleresource(panelresource, false); - freescaleresource(tres); + freescaleresource(res); ShowWindow (GetDlgItem (hDlg, IDC_PANEL_FRAME), SW_HIDE); ShowWindow (GetDlgItem (hDlg, IDC_PANEL_FRAME_OUTER), !fullpanel ? SW_SHOW : SW_HIDE); @@ -20571,6 +20681,9 @@ static HWND updatePanel (int id, UINT action) setfocus (panelDlg, ppage[id].focusid); } + SetWindowRedraw(hDlg, TRUE); + RedrawWindow(panelDlg, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN); + return panelDlg; } @@ -20729,6 +20842,33 @@ static bool dodialogmousemove(void) return true; } +void getguipos(int *xp, int *yp) +{ + int x = 10, y = 10; + if (gui_fullscreen) { + x = gui_fullscreen_rect.left; + y = gui_fullscreen_rect.top; + } else { + if (isfullscreen() == 0) { + regqueryint(NULL, _T("GUIPosX"), &x); + regqueryint(NULL, _T("GUIPosY"), &y); + } else if (isfullscreen() < 0) { + regqueryint(NULL, _T("GUIPosFWX"), &x); + regqueryint(NULL, _T("GUIPosFWY"), &y); + } else if (isfullscreen() > 0) { + regqueryint(NULL, _T("GUIPosFSX"), &x); + regqueryint(NULL, _T("GUIPosFSY"), &y); + if (dodialogmousemove()) { + struct MultiDisplay *mdc = getdisplay(&currprefs, 0); + x = mdc->rect.left; + y = mdc->rect.top; + } + } + } + *xp = x; + *yp = y; +} + static void centerWindow (HWND hDlg) { RECT rc, rcDlg, rcOwner; @@ -20740,25 +20880,7 @@ static void centerWindow (HWND hDlg) if (owner == NULL) owner = GetDesktopWindow (); - if (gui_fullscreen) { - x = gui_fullscreen_rect.left; - y = gui_fullscreen_rect.top; - } else { - if (isfullscreen () == 0) { - regqueryint (NULL, _T("GUIPosX"), &x); - regqueryint (NULL, _T("GUIPosY"), &y); - } else if (isfullscreen () < 0) { - regqueryint (NULL, _T("GUIPosFWX"), &x); - regqueryint (NULL, _T("GUIPosFWY"), &y); - } else if (isfullscreen () > 0) { - regqueryint (NULL, _T("GUIPosFSX"), &x); - regqueryint (NULL, _T("GUIPosFSY"), &y); - if (dodialogmousemove ()) { - x = mdc->rect.left; - y = mdc->rect.top; - } - } - } + getguipos(&x, &y); pt1.x = x + 100; pt1.y = y + (GetSystemMetrics (SM_CYMENU) + GetSystemMetrics (SM_CYBORDER)) / 2; pt2.x = x + gui_width - 100; @@ -21114,14 +21236,18 @@ static INT_PTR CALLBACK DialogProc (HWND hDlg, UINT msg, WPARAM wParam, LPARAM l static int recursive = 0; static int oldwidth, oldheight; + if (dialog_inhibit) + return 0; + switch (msg) { case WM_DPICHANGED: { - if (!gui_size_changed && hGUIWnd) { + if (gui_size_changed <= 1 && hGUIWnd) { int dx = LOWORD(wParam); int dy = HIWORD(wParam); RECT *const r = (RECT*)lParam; + gui_size_changed = 0; previous_dpix = dx; previous_dpiy = dy; gui_width = (r->right - r->left); @@ -21376,8 +21502,8 @@ struct newresource *getresource (int tmpl) if (!newres) return NULL; memcpy ((void*)newres, resdata, size); - nr->resource = newres; - nr->size = size; + nr->sourceresource = newres; + nr->sourcesize = size; nr->tmpl = tmpl; nr->inst = inst; return nr; @@ -21385,17 +21511,15 @@ struct newresource *getresource (int tmpl) INT_PTR CustomDialogBox (int templ, HWND hDlg, DLGPROC proc) { - struct newresource *res, *r; + struct newresource *res; struct dlgcontext dctx; INT_PTR h = -1; res = getresource (templ); if (!res) return h; - r = scaleresource (res, &dctx, hDlg, -1, 0, 0, -1); - if (r) { - h = DialogBoxIndirect (r->inst, r->resource, hDlg, proc); - freescaleresource (r); + if (scaleresource (res, &dctx, hDlg, -1, 0, 0, -1)) { + h = DialogBoxIndirect (res->inst, res->resource, hDlg, proc); } customDlgType = 0; customDlg = NULL; @@ -21405,17 +21529,15 @@ INT_PTR CustomDialogBox (int templ, HWND hDlg, DLGPROC proc) HWND CustomCreateDialog (int templ, HWND hDlg, DLGPROC proc) { - struct newresource *res, *r; + struct newresource *res; struct dlgcontext dctx; HWND h = NULL; res = getresource (templ); if (!res) return h; - r = scaleresource (res, &dctx, hDlg, -1, 0, 0, -1); - if (r) { - h = CreateDialogIndirect (r->inst, r->resource, hDlg, proc); - freescaleresource (r); + if (scaleresource (res, &dctx, hDlg, -1, 0, 0, -1)) { + h = x_CreateDialogIndirectParam(res->inst, res->resource, hDlg, proc, NULL, res); } freescaleresource (res); return h; @@ -21549,8 +21671,6 @@ static int GetSettings (int all_options, HWND hwnd) int psresult; HWND dhwnd; int first = 0; - static struct newresource *panelresource; - struct newresource *tres = NULL; bool closed = false; gui_active++; @@ -21633,14 +21753,14 @@ static int GetSettings (int all_options, HWND hwnd) } gui_size_changed = 0; if (!regexists) { - scaleresource_setdefaults (); + scaleresource_setdefaults(hwnd); fmultx = 0; write_log (_T("GUI default size\n")); regsetint (NULL, _T("GUIResize"), 0); regsetint (NULL, _T("GUIFullscreen"), 0); } else { if (gui_width < MIN_GUI_INTERNAL_WIDTH || gui_width > 4096 || gui_height < MIN_GUI_INTERNAL_HEIGHT || gui_height > 4096) { - scaleresource_setdefaults (); + scaleresource_setdefaults(hwnd); setdefaultguisize (); fmultx = 0; write_log (_T("GUI size reset\n")); @@ -21720,17 +21840,17 @@ static int GetSettings (int all_options, HWND hwnd) panelresource->width = gui_width; panelresource->height = gui_height; - freescaleresource(tres); - tres = scaleresource (panelresource, &maindctx, hwnd, gui_resize_enabled && gui_resize_allowed, gui_fullscreen, workprefs.win32_gui_alwaysontop || workprefs.win32_main_alwaysontop ? WS_EX_TOPMOST : 0, 0); + freescaleresource(panelresource); + scaleresource (panelresource, &maindctx, hwnd, gui_resize_enabled && gui_resize_allowed, gui_fullscreen, workprefs.win32_gui_alwaysontop || workprefs.win32_main_alwaysontop ? WS_EX_TOPMOST : 0, 0); HWND phwnd = hwnd; if (isfullscreen() == 0) phwnd = 0; if (isfullscreen() > 0 && currprefs.gfx_api > 1) phwnd = 0; - dhwnd = CreateDialogIndirect(tres->inst, tres->resource, phwnd, DialogProc); + dhwnd = x_CreateDialogIndirectParam(panelresource->inst, panelresource->resource, phwnd, DialogProc, NULL, panelresource); dialog_rect.top = dialog_rect.left = 0; - dialog_rect.right = tres->width; - dialog_rect.bottom = tres->height; + dialog_rect.right = panelresource->width; + dialog_rect.bottom = panelresource->height; psresult = 0; if (dhwnd != NULL) { int dw = GetSystemMetrics(SM_CXSCREEN); @@ -21743,7 +21863,7 @@ static int GetSettings (int all_options, HWND hwnd) write_log (_T("Got GUI size = %dx%d\n"), w, h); if (w < 100 || h < 100 || (w > 8192 && w > dw + 500) || (h > 8192 && h > dh + 500)) { write_log (_T("GUI size (%dx%d) out of range!\n"), w, h); - scaleresource_setdefaults (); + scaleresource_setdefaults(hwnd); setdefaultguisize (); SendMessage (dhwnd, WM_COMMAND, IDCANCEL, 0); fmultx = fmulty = 0; @@ -21821,7 +21941,7 @@ static int GetSettings (int all_options, HWND hwnd) regsetint(NULL, _T("GUIFullscreen"), gui_fullscreen > 0 ? 1 : 0); if (gui_size_changed < 10) { scaleresource_setsize(gui_width, gui_height, 0); - rescaleresource(tres, &maindctx, dhwnd, panelDlg); + rescaleresource(panelresource, true); gui_size_changed = 0; reset_box_art_window(); } else { @@ -21847,12 +21967,11 @@ static int GetSettings (int all_options, HWND hwnd) abort (); } setdefaultguisize (); - scaleresource_setdefaults (); + scaleresource_setdefaults(hwnd); gui_size_changed = 10; } gui_exit: - freescaleresource(tres); - tres = NULL; + freescaleresource(panelresource); if (!gui_size_changed) break; quit_program = 0; diff --git a/od-win32/win32gui.h b/od-win32/win32gui.h index 03365dc2..7e277f33 100644 --- a/od-win32/win32gui.h +++ b/od-win32/win32gui.h @@ -34,17 +34,69 @@ struct dlgcontext int dlgstorecnt; }; +/* Dialog info structure */ +typedef struct +{ + HWND hwndFocus; /* Current control with focus */ + HFONT hUserFont; /* Dialog font */ + HMENU hMenu; /* Dialog menu */ + UINT xBaseUnit; /* Dialog units (depends on the font) */ + UINT yBaseUnit; + INT idResult; /* EndDialog() result / default pushbutton ID */ + UINT flags; /* EndDialog() called for this dialog */ +} DIALOGINFO; + +/* Dialog template */ +typedef struct +{ + DWORD style; + DWORD exStyle; + DWORD helpId; + WORD nbItems; + short x; + short y; + short cx; + short cy; + LPCWSTR menuName; + LPCWSTR className; + LPCWSTR caption; + WORD pointSize; + WORD weight; + BOOL italic; + LPCWSTR faceName; + BOOL dialogEx; +} DLG_TEMPLATE; + +struct newreswnd +{ + HWND hwnd; + uae_s16 x, y, w, h; +}; + struct newresource { - LPCDLGTEMPLATEW resource; - HINSTANCE inst; + HINSTANCE inst; + LPCDLGTEMPLATEW sourceresource; + int sourcesize; + + LPCDLGTEMPLATEW resource; int size; int tmpl; - int width, height; - int listviews_id[MAX_GUIIDPARAMS]; + int x, y, width, height; int setparam_id[MAX_GUIIDPARAMS]; + struct newreswnd hwnds[MAX_DLGID]; + int hwndcnt; int listviewcnt; int setparamcnt; + DIALOGINFO dinfo; + DLG_TEMPLATE dtmpl; + DLGPROC dlgproc; + LPARAM param; + HWND hwnd; + struct newresource *parent, *child; + int unitx, unity; + bool fontchanged; + int fontsize; }; #define MIN_GUI_INTERNAL_WIDTH 512 @@ -55,19 +107,23 @@ struct newresource #define GUI_INTERNAL_FONT 8 extern struct uae_prefs workprefs; +extern int dialog_inhibit; -extern struct newresource* scaleresource(struct newresource*, struct dlgcontext *dctx, HWND, int, int, DWORD, int); -extern void rescaleresource(struct newresource*, struct dlgcontext*, HWND, HWND); +HWND x_CreateDialogIndirectParam(HINSTANCE hInstance, LPCDLGTEMPLATE lpTemplate, HWND hWndParent, DLGPROC lpDialogFunc, LPARAM lParamInit, struct newresource*); +void getguipos(int *xp, int *yp); +extern int scaleresource(struct newresource*, struct dlgcontext *dctx, HWND, int, int, DWORD, int); +extern void rescaleresource(struct newresource*, bool); extern void freescaleresource (struct newresource*); extern void scaleresource_setsize (int w, int h, int fs); extern HWND CustomCreateDialog (int templ, HWND hDlg, DLGPROC proc); extern INT_PTR CustomDialogBox (int templ, HWND hDlg, DLGPROC proc); extern struct newresource *getresource (int tmpl); -extern void scaleresource_init (const TCHAR*, int); +extern void scaleresource_init(const TCHAR*, int); extern int scaleresource_choosefont (HWND hDlg, int fonttype); -extern void scaleresource_setdefaults (void); +extern void scaleresource_setdefaults(HWND); extern void scalaresource_listview_font_info(int*); extern int getscaledfontsize(int size); +extern void scaleresource_modification(HWND); extern bool show_box_art(const TCHAR*, const TCHAR*); extern void move_box_art_window(void); extern void close_box_art_window(void); diff --git a/od-win32/win32gui_extra.cpp b/od-win32/win32gui_extra.cpp index 39d92830..74eb5cc7 100644 --- a/od-win32/win32gui_extra.cpp +++ b/od-win32/win32gui_extra.cpp @@ -1,8 +1,10 @@ #include #include #include +#include #include #include +#include #include "sysconfig.h" #include "sysdeps.h" @@ -16,7 +18,7 @@ #include "zfile.h" #define MAX_GUI_FONTS 2 -#define DEFAULT_FONTSIZE 8 +#define DEFAULT_FONTSIZE 8 static float multx, multy; static int scaleresource_width, scaleresource_height; @@ -31,7 +33,6 @@ static int fontstyle_list = 0; static int fontweight_gui = FW_REGULAR; static int fontweight_list = FW_REGULAR; -static HFONT listviewfont; static TEXTMETRIC listview_tm; static const TCHAR *fontprefix; @@ -86,6 +87,666 @@ static const wchar_t wfont_old[] = _T("MS Sans Serif"); static const TCHAR font_vista[] = _T("Segoe UI"); static const TCHAR font_xp[] = _T("Tahoma"); +#define WNDS_DIALOGWINDOW 0X00010000 +#define CW_USEDEFAULT16 ((short)0x8000) + +/* Dialog control information */ +typedef struct +{ + DWORD style; + DWORD exStyle; + DWORD helpId; + short x; + short y; + short cx; + short cy; + UINT id; + LPCWSTR className; + LPCWSTR windowName; + BOOL windowNameFree; // ReactOS + LPCVOID data; +} DLG_CONTROL_INFO; + + +/* MACROS/DEFINITIONS ********************************************************/ + +#define DF_END 0x0001 +#define DF_DIALOGACTIVE 0x4000 // ReactOS +#define GETDLGINFO(res) DIALOG_get_info(res, FALSE) +#define GET_WORD(ptr) (*(WORD *)(ptr)) +#define GET_DWORD(ptr) (*(DWORD *)(ptr)) +#define GET_LONG(ptr) (*(const LONG *)(ptr)) +#define DLG_ISANSI 2 + +/*********************************************************************** +* DIALOG_get_info +* +* Get the DIALOGINFO structure of a window, allocating it if needed +* and 'create' is TRUE. +* +* ReactOS +*/ +static DIALOGINFO *DIALOG_get_info(struct newresource *res, BOOL create) +{ + DIALOGINFO *dlgInfo; + + dlgInfo = (DIALOGINFO *)&res->dinfo; + dlgInfo->idResult = IDOK; + return dlgInfo; +} +static LONG GdiGetCharDimensions(HDC hdc, LPTEXTMETRICW lptm, LONG *height) +{ + SIZE sz; + TEXTMETRICW tm; + static const WCHAR alphabet[] = + { + 'a', 'b', 'c', 'd', 'e', 'f', 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p', 'q', + 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z', 'A', 'B', 'C', 'D', 'E', 'F', 'G', 'H', + 'I', 'J', 'K', 'L', 'M', 'N', 'O', 'P', 'Q', 'R', 'S', 'T', 'U', 'V', 'W', 'X', 'Y', 'Z', 0 + }; + + if (!GetTextMetricsW(hdc, &tm)) return 0; + + if (!GetTextExtentPointW(hdc, alphabet, 52, &sz)) return 0; + + if (lptm) *lptm = tm; + if (height) *height = tm.tmHeight; + + return (sz.cx / 26 + 1) / 2; +} + +/*********************************************************************** + * DIALOG_GetControl32 + * + * Return the class and text of the control pointed to by ptr, + * fill the header structure and return a pointer to the next control. + */ +static const WORD *DIALOG_GetControl32(const WORD *p, DLG_CONTROL_INFO *info, + BOOL dialogEx) +{ + if (dialogEx) + { + info->helpId = GET_DWORD(p); p += 2; + info->exStyle = GET_DWORD(p); p += 2; + info->style = GET_DWORD(p); p += 2; + } else + { + info->helpId = 0; + info->style = GET_DWORD(p); p += 2; + info->exStyle = GET_DWORD(p); p += 2; + } + info->x = GET_WORD(p); p++; + info->y = GET_WORD(p); p++; + info->cx = GET_WORD(p); p++; + info->cy = GET_WORD(p); p++; + + if (dialogEx) + { + /* id is 4 bytes for DIALOGEX */ + info->id = GET_LONG(p); + p += 2; + } else + { + info->id = GET_WORD(p); + p++; + } + + if (GET_WORD(p) == 0xffff) + { + static const WCHAR class_names[6][10] = + { + { 'B', 'u', 't', 't', 'o', 'n', }, /* 0x80 */ + { 'E', 'd', 'i', 't', }, /* 0x81 */ + { 'S', 't', 'a', 't', 'i', 'c', }, /* 0x82 */ + { 'L', 'i', 's', 't', 'B', 'o', 'x', }, /* 0x83 */ + { 'S', 'c', 'r', 'o', 'l', 'l', 'B', 'a', 'r', }, /* 0x84 */ + { 'C', 'o', 'm', 'b', 'o', 'B', 'o', 'x', } /* 0x85 */ + }; + WORD id = GET_WORD(p + 1); + /* Windows treats dialog control class ids 0-5 same way as 0x80-0x85 */ + if ((id >= 0x80) && (id <= 0x85)) id -= 0x80; + if (id <= 5) + { + info->className = class_names[id]; + } else + { + info->className = NULL; + /* FIXME: load other classes here? */ + write_log(_T("Unknown built-in class id %04x\n"), id); + } + p += 2; + } else + { + info->className = (LPCWSTR)p; + p += _tcslen(info->className) + 1; + } + + if (GET_WORD(p) == 0xffff) /* Is it an integer id? */ + { + //// ReactOS Rev 6478 + info->windowName = (LPCWSTR)HeapAlloc(GetProcessHeap(), 0, sizeof(L"#65535")); + if (info->windowName != NULL) + { + wsprintf((LPWSTR)info->windowName, L"#%u", GET_WORD(p + 1)); + info->windowNameFree = TRUE; + } else + { + info->windowNameFree = FALSE; + } + p += 2; + } else + { + info->windowName = (LPCWSTR)p; + info->windowNameFree = FALSE; + p += _tcslen(info->windowName) + 1; + } +#if 0 + write_log(_T(" %s %s %ld, %d, %d, %d, %d, %08x, %08x, %08x\n"), + info->className, info->windowName, + info->id, info->x, info->y, info->cx, info->cy, + info->style, info->exStyle, info->helpId); +#endif + if (GET_WORD(p)) + { + info->data = p; + p += GET_WORD(p) / sizeof(WORD); + } else info->data = NULL; + p++; + + /* Next control is on dword boundary */ + return (const WORD *)(((UINT_PTR)p + 3) & ~3); +} + + +static BOOL DIALOG_CreateControls32(HWND hwnd, LPCSTR tmpl, const DLG_TEMPLATE *dlgTemplate, + HINSTANCE hInst, struct newresource *res) +{ + DIALOGINFO *dlgInfo; + DLG_CONTROL_INFO info; + HWND hwndCtrl, hwndDefButton = 0; + INT items = dlgTemplate->nbItems; + + if (!(dlgInfo = GETDLGINFO(res))) + return FALSE; + + while (items--) + { + tmpl = (LPCSTR)DIALOG_GetControl32((const WORD *)tmpl, &info, dlgTemplate->dialogEx); + info.style &= ~WS_POPUP; + info.style |= WS_CHILD; + + if (info.style & WS_BORDER) + { + info.style &= ~WS_BORDER; + info.exStyle |= WS_EX_CLIENTEDGE; + } + + int x = MulDiv(info.x, dlgInfo->xBaseUnit, 4); + int y = MulDiv(info.y, dlgInfo->yBaseUnit, 8); + int w = MulDiv(info.cx, dlgInfo->xBaseUnit, 4); + int h = MulDiv(info.cy, dlgInfo->yBaseUnit, 8); + + hwndCtrl = CreateWindowEx(info.exStyle | WS_EX_NOPARENTNOTIFY, + info.className, info.windowName, + info.style | WS_CHILD, + x, y, w, h, + hwnd, (HMENU)(ULONG_PTR)info.id, + hInst, (LPVOID)info.data); + + if (info.windowNameFree) + { + HeapFree(GetProcessHeap(), 0, (LPVOID)info.windowName); + } + + if (!hwndCtrl) + { + write_log(_T("control %s %s creation failed\n"), info.className, info.windowName); + if (dlgTemplate->style & DS_NOFAILCREATE) + continue; + return FALSE; + } + + struct newreswnd *nrw = &res->hwnds[res->hwndcnt++]; + nrw->hwnd = hwndCtrl; + nrw->x = x; + nrw->y = y; + nrw->w = w; + nrw->h = h; + + /* Send initialisation messages to the control */ + if (dlgInfo->hUserFont) SendMessage(hwndCtrl, WM_SETFONT, + (WPARAM)dlgInfo->hUserFont, 0); + if (SendMessage(hwndCtrl, WM_GETDLGCODE, 0, 0) & DLGC_DEFPUSHBUTTON) + { + /* If there's already a default push-button, set it back */ + /* to normal and use this one instead. */ + if (hwndDefButton) + SendMessage(hwndDefButton, BM_SETSTYLE, BS_PUSHBUTTON, FALSE); + hwndDefButton = hwndCtrl; + dlgInfo->idResult = GetWindowLongPtrA(hwndCtrl, GWLP_ID); + } + } + return TRUE; +} + +/*********************************************************************** +* DIALOG_ParseTemplate32 +* +* Fill a DLG_TEMPLATE structure from the dialog template, and return +* a pointer to the first control. +*/ +static LPCSTR DIALOG_ParseTemplate32(LPCSTR tmpl, DLG_TEMPLATE *result) +{ + const WORD *p = (const WORD *)tmpl; + WORD signature; + WORD dlgver; + + dlgver = GET_WORD(p); p++; + signature = GET_WORD(p); p++; + + if (dlgver == 1 && signature == 0xffff) /* DIALOGEX resource */ + { + result->dialogEx = TRUE; + result->helpId = GET_DWORD(p); p += 2; + result->exStyle = GET_DWORD(p); p += 2; + result->style = GET_DWORD(p); p += 2; + } else + { + result->style = GET_DWORD(p - 2); + result->dialogEx = FALSE; + result->helpId = 0; + result->exStyle = GET_DWORD(p); p += 2; + } + result->nbItems = GET_WORD(p); p++; + result->x = GET_WORD(p); p++; + result->y = GET_WORD(p); p++; + result->cx = GET_WORD(p); p++; + result->cy = GET_WORD(p); p++; + + /* Get the menu name */ + + switch (GET_WORD(p)) + { + case 0x0000: + result->menuName = NULL; + p++; + break; + case 0xffff: + result->menuName = (LPCWSTR)(UINT_PTR)GET_WORD(p + 1); + p += 2; + break; + default: + result->menuName = (LPCWSTR)p; + p += _tcslen(result->menuName) + 1; + break; + } + + /* Get the class name */ + + switch (GET_WORD(p)) + { + case 0x0000: + result->className = WC_DIALOG; + p++; + break; + case 0xffff: + result->className = (LPCWSTR)(UINT_PTR)GET_WORD(p + 1); + p += 2; + break; + default: + result->className = (LPCWSTR)p; + p += _tcslen(result->className) + 1; + break; + } + + /* Get the window caption */ + + result->caption = (LPCWSTR)p; + p += _tcslen(result->caption) + 1; + + /* Get the font name */ + + result->pointSize = 0; + result->faceName = NULL; + result->weight = FW_DONTCARE; + result->italic = FALSE; + + if (result->style & DS_SETFONT) + { + result->pointSize = GET_WORD(p); + p++; + + /* If pointSize is 0x7fff, it means that we need to use the font + * in NONCLIENTMETRICSW.lfMessageFont, and NOT read the weight, + * italic, and facename from the dialog template. + */ + if (result->pointSize == 0x7fff) + { + /* We could call SystemParametersInfo here, but then we'd have + * to convert from pixel size to point size (which can be + * imprecise). + */ + } else + { + if (result->dialogEx) + { + result->weight = GET_WORD(p); p++; + result->italic = LOBYTE(GET_WORD(p)); p++; + } + result->faceName = (LPCWSTR)p; + p += _tcslen(result->faceName) + 1; + } + } + + /* First control is on dword boundary */ + return (LPCSTR)((((UINT_PTR)p) + 3) & ~3); +} + +static int createcontrols(HWND hwnd, struct newresource *res) +{ + LPCVOID dlgTemplate = DIALOG_ParseTemplate32((LPCSTR)res->resource, &res->dtmpl); + DLG_TEMPLATE *tmpl = &res->dtmpl; + + if (DIALOG_CreateControls32(hwnd, (LPCSTR)dlgTemplate, &res->dtmpl, res->inst, res)) + { + /* Send initialisation messages and set focus */ + + if (res->dlgproc) + { + HWND focus = GetNextDlgTabItem(hwnd, 0, FALSE); + if (!focus) + focus = GetNextDlgGroupItem(hwnd, 0, FALSE); + if (SendMessage(hwnd, WM_INITDIALOG, (WPARAM)focus, res->param) && IsWindow(hwnd) && + ((~tmpl->style & DS_CONTROL) || (tmpl->style & WS_VISIBLE))) + { + /* By returning TRUE, app has requested a default focus assignment. + * WM_INITDIALOG may have changed the tab order, so find the first + * tabstop control again. */ + focus = GetNextDlgTabItem(hwnd, 0, FALSE); + if (!focus) + focus = GetNextDlgGroupItem(hwnd, 0, FALSE); + if (focus) + { + if (SendMessage(focus, WM_GETDLGCODE, 0, 0) & DLGC_HASSETSEL) + SendMessage(focus, EM_SETSEL, 0, MAXLONG); + SetFocus(focus); + } else + { + if (!(tmpl->style & WS_CHILD)) + SetFocus(hwnd); + } + } + //// ReactOS see 43396, Fixes setting focus on Open and Close dialogs to the FileName edit control in OpenOffice. + //// This now breaks test_SaveRestoreFocus. + //DEFDLG_SaveFocus( hwnd ); + //// + } + //// ReactOS Rev 30613 & 30644 + if (!(GetWindowLongPtrW(hwnd, GWL_STYLE) & WS_CHILD)) + SendMessage(hwnd, WM_CHANGEUISTATE, MAKEWPARAM(UIS_INITIALIZE, 0), 0); + //// + if (tmpl->style & WS_VISIBLE && !(GetWindowLongPtrW(hwnd, GWL_STYLE) & WS_VISIBLE)) + { + ShowWindow(hwnd, SW_SHOWNORMAL); /* SW_SHOW doesn't always work */ + UpdateWindow(hwnd); + } + return 1; + } + return 0; +} + + +/*********************************************************************** + * DIALOG_CreateIndirect + * Creates a dialog box window + * + * modal = TRUE if we are called from a modal dialog box. + * (it's more compatible to do it here, as under Windows the owner + * is never disabled if the dialog fails because of an invalid template) + */ +static HWND DIALOG_CreateIndirect(HINSTANCE hInst, LPCVOID dlgTemplate, + HWND owner, DLGPROC dlgProc, LPARAM param, + HWND *modal_owner, struct newresource *res) +{ + HWND hwnd; + RECT rect; + POINT pos; + SIZE size; + DLG_TEMPLATE *tmpl = &res->dtmpl; + DIALOGINFO *dlgInfo = NULL; + DWORD units = GetDialogBaseUnits(); + HWND disabled_owner = NULL; + HMENU hMenu = 0; + HFONT hUserFont = 0; + UINT flags = 0; + UINT xBaseUnit = LOWORD(units); + UINT yBaseUnit = HIWORD(units); + int fontpixels = 8; + + /* Parse dialog template */ + + if (!dlgTemplate) + return 0; + dlgTemplate = DIALOG_ParseTemplate32((LPCSTR)dlgTemplate, tmpl); + + res->dlgproc = dlgProc; + res->param = param; + + /* Load menu */ + + if (tmpl->menuName) + hMenu = LoadMenu(hInst, tmpl->menuName); + + /* Create custom font if needed */ + + if (tmpl->style & DS_SETFONT) + { + HDC dc = GetDC(0); + + if (tmpl->pointSize == 0x7fff) + { + /* We get the message font from the non-client metrics */ + NONCLIENTMETRICSW ncMetrics; + + ncMetrics.cbSize = sizeof(NONCLIENTMETRICSW); + if (SystemParametersInfo(SPI_GETNONCLIENTMETRICS, + sizeof(NONCLIENTMETRICSW), &ncMetrics, 0)) + { + hUserFont = CreateFontIndirect(&ncMetrics.lfMessageFont); + } + } else + { + int xx, yy; + if (res->parent) { + xx = res->parent->x + res->parent->width / 2; + yy = res->parent->y + res->parent->height / 2; + } else { + getguipos(&xx, &yy); + xx += 128; + yy += 128; + } + POINT pt; + pt.x = xx; + pt.y = yy; + HMONITOR m = MonitorFromPoint(pt, MONITOR_DEFAULTTOPRIMARY); + int dpi = getdpiformonitor(m); + /* We convert the size to pixels and then make it -ve. This works + * for both +ve and -ve template.pointSize */ + fontpixels = MulDiv(tmpl->pointSize, dpi, 72); + hUserFont = CreateFont(-fontpixels, 0, 0, 0, tmpl->weight, + tmpl->italic, FALSE, FALSE, DEFAULT_CHARSET, 0, 0, + PROOF_QUALITY, FF_DONTCARE, + tmpl->faceName); + res->fontsize = fontpixels; + } + + if (hUserFont) + { + SIZE charSize; + HFONT hOldFont = (HFONT)SelectObject(dc, hUserFont); + charSize.cx = GdiGetCharDimensions(dc, NULL, &charSize.cy); + if (charSize.cx) + { + xBaseUnit = charSize.cx; + yBaseUnit = charSize.cy; + } + SelectObject(dc, hOldFont); + } + ReleaseDC(0, dc); + } + + /* Create dialog main window */ + + SetRect(&rect, 0, 0, MulDiv(tmpl->cx, xBaseUnit, 4), MulDiv(tmpl->cy, yBaseUnit, 8)); + if (tmpl->style & DS_CONTROL) + tmpl->style &= ~(WS_CAPTION | WS_SYSMENU); + tmpl->style |= DS_3DLOOK; + if (tmpl->style & DS_MODALFRAME) + tmpl->exStyle |= WS_EX_DLGMODALFRAME; + if ((tmpl->style & DS_CONTROL) || !(tmpl->style & WS_CHILD)) + tmpl->exStyle |= WS_EX_CONTROLPARENT; + AdjustWindowRectEx(&rect, tmpl->style, (hMenu != 0), tmpl->exStyle); + pos.x = rect.left; + pos.y = rect.top; + size.cx = rect.right - rect.left; + size.cy = rect.bottom - rect.top; + + if (!res->parent) { + size.cx = res->width; + size.cy = res->height; + } + + if (tmpl->x == CW_USEDEFAULT16) + { + pos.x = pos.y = CW_USEDEFAULT; + } + else + { + HMONITOR monitor = 0; + MONITORINFO mon_info; + + mon_info.cbSize = sizeof(mon_info); + if (tmpl->style & DS_CENTER) + { + monitor = MonitorFromWindow(owner ? owner : GetActiveWindow(), MONITOR_DEFAULTTOPRIMARY); + GetMonitorInfoW(monitor, &mon_info); + pos.x = (mon_info.rcWork.left + mon_info.rcWork.right - size.cx) / 2; + pos.y = (mon_info.rcWork.top + mon_info.rcWork.bottom - size.cy) / 2; + } + else if (tmpl->style & DS_CENTERMOUSE) + { + GetCursorPos(&pos); + monitor = MonitorFromPoint(pos, MONITOR_DEFAULTTOPRIMARY); + GetMonitorInfoW(monitor, &mon_info); + } + else + { + pos.x += MulDiv(tmpl->x, xBaseUnit, 4); + pos.y += MulDiv(tmpl->y, yBaseUnit, 8); + // + // REACTOS : Need an owner to be passed!!! + // + if (!(tmpl->style & (WS_CHILD | DS_ABSALIGN)) && owner) + ClientToScreen(owner, &pos); + } + } + + res->unitx = MulDiv(8, xBaseUnit, 4); + res->unity = MulDiv(8, yBaseUnit, 8); + + if (!res->parent) { + int xx, yy; + getguipos(&xx, &yy); + pos.x += xx; + pos.y += yy; + } + + res->width = size.cx; + res->height = size.cy; + res->x = pos.x; + res->y = pos.y; + + hwnd = CreateWindowEx(tmpl->exStyle, tmpl->className, tmpl->caption, + tmpl->style & ~WS_VISIBLE, pos.x, pos.y, size.cx, size.cy, + owner, hMenu, hInst, NULL); + + res->hwnd = hwnd; + + if (!hwnd) + { + if (hUserFont) + DeleteObject(hUserFont); + if (hMenu) + DestroyMenu(hMenu); + if (disabled_owner) + EnableWindow(disabled_owner, TRUE); + return 0; + } + + if (res->parent) { + struct newreswnd *nrh = &res->parent->hwnds[res->parent->hwndcnt++]; + nrh->hwnd = hwnd; + nrh->x = pos.x; + nrh->y = pos.y; + nrh->w = size.cx; + nrh->h = size.cy; + } + + /* moved this from the top of the method to here as DIALOGINFO structure + will be valid only after WM_CREATE message has been handled in DefDlgProc + All the members of the structure get filled here using temp variables */ + dlgInfo = DIALOG_get_info(res, TRUE); + // ReactOS + if (dlgInfo == NULL) + { + if (hUserFont) + DeleteObject(hUserFont); + if (hMenu) + DestroyMenu(hMenu); + if (disabled_owner) + EnableWindow(disabled_owner, TRUE); + return 0; + } + // + dlgInfo->hwndFocus = 0; + dlgInfo->hUserFont = hUserFont; + dlgInfo->hMenu = hMenu; + dlgInfo->xBaseUnit = xBaseUnit; + dlgInfo->yBaseUnit = yBaseUnit; + dlgInfo->flags = flags; + + if (tmpl->helpId) + SetWindowContextHelpId(hwnd, tmpl->helpId); + + SetWindowLongPtrW(hwnd, DWLP_DLGPROC, (ULONG_PTR)dlgProc); + + if (dlgProc && dlgInfo->hUserFont) + SendMessage(hwnd, WM_SETFONT, (WPARAM)dlgInfo->hUserFont, 0); + + /* Create controls */ + if (createcontrols(hwnd, res)) + return hwnd; + + if (disabled_owner) EnableWindow(disabled_owner, TRUE); + if (IsWindow(hwnd)) + { + DestroyWindow(hwnd); + } + return 0; +} + +HWND x_CreateDialogIndirectParam( + HINSTANCE hInstance, + LPCDLGTEMPLATE lpTemplate, + HWND hWndParent, + DLGPROC lpDialogFunc, + LPARAM lParamInit, + struct newresource *res) +{ + return DIALOG_CreateIndirect(hInstance, lpTemplate, hWndParent, lpDialogFunc, lParamInit, NULL, res); +} + + static int align (double f) { int v = (int)(f + 0.5); @@ -101,7 +762,6 @@ static int mmy (int v) return align ((v * multy) / 100.0 + 0.5); } - static BYTE *skiptextone (BYTE *s) { s -= sizeof (WCHAR); @@ -144,159 +804,69 @@ static void modifytemplatefont (DLGTEMPLATEEX *d, DLGTEMPLATEEX_END *d2) } } -static void modifyitem (struct newresource *nr, DLGTEMPLATEEX *d, DLGTEMPLATEEX_END *d2, DLGITEMTEMPLATEEX *dt, int id) +static void scalechildwindows(struct newresource *nr) { - int wc = 0; - - if (dt->windowClass[0] == 0xffff) - wc = dt->windowClass[1]; + if (!nr) + return; - if (wc == 0x0085) {// combo box - if (nr->setparamcnt < MAX_GUIIDPARAMS) { - nr->setparam_id[nr->setparamcnt] = dt->id; - nr->setparamcnt++; - } + if (nr->fontchanged) { + SendMessage(nr->hwnd, WM_SETFONT, (WPARAM)nr->dinfo.hUserFont, 0); } - if (dt->windowClass[0] != 0xffff) { - if (!_tcsicmp (dt->windowClass, WC_LISTVIEWW) || !_tcsicmp (dt->windowClass, WC_TREEVIEWW)) { - if (nr->listviewcnt < MAX_GUIIDPARAMS) { - nr->listviews_id[nr->listviewcnt] = dt->id; - nr->listviewcnt++; - } - } - } + for (int i = 0; i < nr->hwndcnt; i++) { + struct newreswnd *nw = &nr->hwnds[i]; -} + int x = nw->x; + x *= multx; + x /= 100; -struct rescalestruct -{ - HWND main, sub; - int dlgid; - struct newresource *nr; - struct dlgcontext *dctx; -}; + int y = nw->y; + y *= multy; + y /= 100; -static struct dlgstore dstore_main[MAX_DLGID]; -static int dlgstorecnt_main; + int w = nw->w; + w *= multx; + w /= 100; -static BOOL CALLBACK rescaleproc(HWND hwnd, LPARAM lp) -{ - RECT rs; - struct rescalestruct *rss = (struct rescalestruct *)lp; - struct newresource *nr = rss->nr; - struct dlgcontext *dctx = rss->dctx; - HWND parent = GetParent(hwnd); - - // if not parent of sub panel or main panel: skip because for example - // combo boxes have child windows that should not be moved or resized. - if (parent != rss->main && parent != rss->sub) - return TRUE; - - GetClientRect(hwnd, &rs); - MapWindowPoints(hwnd, parent, (LPPOINT)&rs, 2); - - int wc = 0; - bool found = false; - if (parent == rss->main) { - for (int i = 0; i < dlgstorecnt_main; i++) { - struct dlgstore *dsptr = &dstore_main[i]; - if (dsptr->h == hwnd) { - rs = dsptr->r; - found = true; - break; - } - } - if (!found) { - struct dlgstore *dsptr = &dstore_main[dlgstorecnt_main++]; - dsptr->h = hwnd; - dsptr->r = rs; + int h = nw->h; + h *= multy; + h /= 100; + + if (nr->fontchanged) { + SendMessage(nw->hwnd, WM_SETFONT, (WPARAM)nr->dinfo.hUserFont, 0); } - } else { - for (int i = 0; i < dctx->dlgstorecnt; i++) { - struct dlgstore *dsptr = &dctx->dstore[i]; - if (dsptr->h == hwnd) { - rs = dsptr->r; - found = true; - break; - } + bool disable = false; + if (!IsWindowEnabled(nw->hwnd)) { + EnableWindow(nw->hwnd, TRUE); + disable = true; } - if (!found) { - struct dlgstore *dsptr = &dctx->dstore[dctx->dlgstorecnt++]; - dsptr->h = hwnd; - dsptr->r = rs; + SetFocus(nw->hwnd); + SetWindowPos(nw->hwnd, HWND_TOP, x, y, w, h, SWP_NOACTIVATE | SWP_NOREDRAW | SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOCOPYBITS | SWP_DEFERERASE); + if (disable) { + EnableWindow(nw->hwnd, FALSE); } } - int x = rs.left; - x *= multx; - x /= 100; - - int y = rs.top; - y *= multy; - y /= 100; - - int xe = rs.right; - xe *= multx; - xe += 99; - xe /= 100; - - int ye = rs.bottom; - if (wc != 0x85) { - ye *= multy; - ye += 99; - ye /= 100; - } else { - ye = y + (rs.bottom - rs.top); - } - - SetWindowPos(hwnd, HWND_TOP, x, y, xe - x, ye - y, SWP_NOACTIVATE | SWP_NOREDRAW | SWP_NOZORDER | SWP_NOOWNERZORDER | SWP_NOCOPYBITS | SWP_DEFERERASE); - - return TRUE; -} - -static void openfont(bool force) -{ - HDC hdc; - int size; - int lm = 72; - - if (listviewfont && !force) - return; - if (listviewfont) - DeleteObject(listviewfont); - - hdc = GetDC(NULL); - - if (!dpi_aware_v2) { - lm = GetDeviceCaps(hdc, LOGPIXELSY); + HWND hwnd = nr->hwnd; + HWND focus = GetNextDlgTabItem(hwnd, 0, FALSE); + if (!focus) + focus = GetNextDlgGroupItem(hwnd, 0, FALSE); + if (focus) + { + if (SendMessage(focus, WM_GETDLGCODE, 0, 0) & DLGC_HASSETSEL) + SendMessage(focus, EM_SETSEL, 0, MAXLONG); + SetFocus(focus); + } else + { + if (!(nr->dtmpl.style & WS_CHILD)) + SetFocus(hwnd); } - - size = -MulDiv(fontsize_list, lm, 72); - listviewfont = CreateFont(size, 0, 0, 0, fontweight_list, (fontstyle_list & ITALIC_FONTTYPE) != 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, fontname_list); - HGDIOBJ o = SelectObject(hdc, listviewfont); - memset(&listview_tm, 0, sizeof listview_tm); - listview_tm.tmAveCharWidth = 8; - GetTextMetrics(hdc, &listview_tm); - SelectObject(hdc, o); - - ReleaseDC(NULL, hdc); } static void scaleresource_setfont(struct newresource *nr, HWND hDlg) { - if (nr->listviewcnt) { - if (!listviewfont) { - openfont(false); - if (!listviewfont) - return; - } - for (int i = 0; i < nr->listviewcnt; i++) { - HWND hwnd = GetDlgItem(hDlg, nr->listviews_id[i]); - if (hwnd) - SendMessage(hwnd, WM_SETFONT, WPARAM(listviewfont), FALSE); - } - } + if (!nr) + return; if (os_vista) { for (int i = 0; i < nr->setparamcnt; i++) { HWND hwnd = GetDlgItem(hDlg, nr->setparam_id[i]); @@ -309,75 +879,88 @@ static void scaleresource_setfont(struct newresource *nr, HWND hDlg) } } -void rescaleresource(struct newresource *nr, struct dlgcontext *dctx, HWND hwnd, HWND subhwnd) +void rescaleresource(struct newresource *nr, bool full) { - struct rescalestruct rss; - - scaleresource_setfont(nr, subhwnd); - scaleresource_setfont(nr, hwnd); + if (full) { + SetWindowRedraw(nr->hwnd, FALSE); + } TITLEBARINFO tbi = { 0 }; tbi.cbSize = sizeof(TITLEBARINFO); - GetTitleBarInfo(hwnd, &tbi); + GetTitleBarInfo(nr->hwnd, &tbi); int height = tbi.rcTitleBar.bottom - tbi.rcTitleBar.top; - RECT rw; - GetWindowRect(hwnd, &rw); - - if (scaleresource_reset) { - RECT ru = { 0, 0, 8, 8 }; - MapDialogRect(hwnd, &ru); - dux = ru.right; - duy = ru.bottom; - scaleresource_reset = 0; - } - WINDOWINFO pwi = { 0 }; pwi.cbSize = sizeof(WINDOWINFO); - GetWindowInfo(hwnd, &pwi); + GetWindowInfo(nr->hwnd, &pwi); - SetWindowPos(hwnd, NULL, 0, 0, scaleresource_width, scaleresource_height, SWP_NOMOVE | SWP_NOOWNERZORDER | SWP_NOZORDER | SWP_NOREDRAW | SWP_NOCOPYBITS | SWP_DEFERERASE); - float neww = scaleresource_width - pwi.cxWindowBorders * 2; - float oldw = (530.0 * dux) / 8.0; + float oldw = (530.0 * nr->unitx) / 8.0; multx = neww * 100.0 / oldw; float newh = scaleresource_height - height - pwi.cyWindowBorders * 2; - float oldh = (345.0 * duy) / 8.0; + float oldh = (345.0 * nr->unity) / 8.0; multy = newh * 100.0 / oldh; - rss.main = hwnd; - rss.sub = subhwnd; - rss.nr = nr; - rss.dctx = dctx; - EnumChildWindows(hwnd, rescaleproc, (LPARAM)&rss); + HMONITOR m = MonitorFromWindow(nr->hwnd, MONITOR_DEFAULTTOPRIMARY); + int dpi = getdpiformonitor(m); + DLG_TEMPLATE *tmpl = &nr->dtmpl; + int pixels = MulDiv(tmpl->pointSize, dpi, 72); + if (pixels != nr->fontsize) { + nr->fontchanged = true; + if (nr->dinfo.hUserFont) + DeleteObject(nr->dinfo.hUserFont); + nr->dinfo.hUserFont = CreateFont(-pixels, 0, 0, 0, tmpl->weight, + tmpl->italic, FALSE, FALSE, DEFAULT_CHARSET, 0, 0, + PROOF_QUALITY, FF_DONTCARE, tmpl->faceName); + } - RECT rf, rpf; - HWND pf = GetDlgItem(hwnd, IDC_PANEL_FRAME); - GetClientRect(subhwnd, &rpf); - GetClientRect(pf, &rf); - MapWindowPoints(pf, hwnd, (LPPOINT)& rf, 1); - SetWindowPos(subhwnd, HWND_TOP, rf.left, rf.top + (rf.bottom - rpf.bottom) / 2, 0, 0, SWP_NOSIZE | SWP_NOOWNERZORDER); + dialog_inhibit = 1; + scalechildwindows(nr); + if (nr->child) { + if (nr->fontchanged) { + if (nr->child->dinfo.hUserFont) + DeleteObject(nr->child->dinfo.hUserFont); + nr->child->dinfo.hUserFont = CreateFont(-pixels, 0, 0, 0, tmpl->weight, + tmpl->italic, FALSE, FALSE, DEFAULT_CHARSET, 0, 0, + PROOF_QUALITY, FF_DONTCARE, tmpl->faceName); + } + scalechildwindows(nr->child); + + RECT rf, rpf; + HWND pf = GetDlgItem(nr->hwnd, IDC_PANEL_FRAME); + GetClientRect(nr->child->hwnd, &rpf); + GetClientRect(pf, &rf); + MapWindowPoints(pf, nr->hwnd, (LPPOINT)&rf, 1); + SetWindowPos(nr->child->hwnd, HWND_TOP, rf.left + (rf.right - rpf.right) / 2, rf.top + (rf.bottom - rpf.bottom) / 2, 0, 0, SWP_NOSIZE | SWP_NOOWNERZORDER); + + SendMessage(nr->child->hwnd, WM_NEXTDLGCTL, (WPARAM)nr->child->hwnds[0].hwnd, TRUE); + + GetWindowRect(pf, &rf); + InvalidateRect(nr->hwnd, &rf, TRUE); + } - RedrawWindow(hwnd, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN); + nr->fontsize = pixels; + nr->fontchanged = false; + dialog_inhibit = 0; + + if (full) { + SetWindowRedraw(nr->hwnd, TRUE); + RedrawWindow(nr->hwnd, NULL, NULL, RDW_ERASE | RDW_FRAME | RDW_INVALIDATE | RDW_ALLCHILDREN); + } } void scaleresource_setsize(int w, int h, int fullscreen) { if (w < 0 || h < 0) { - scaleresource_reset = 1; - for (int i = 0; i < dlgstorecnt_main; i++) { - dstore_main[i].h = NULL; - } - dlgstorecnt_main = 0; return; } scaleresource_width = w; scaleresource_height = h; } -static struct newresource *scaleresource2 (struct newresource *res, HWND parent, int resize, int fullscreen, DWORD exstyle, int dlgid) +static int scaleresource2 (struct newresource *res, HWND parent, int resize, int fullscreen, DWORD exstyle, int dlgid) { static int main_width, main_height; @@ -385,30 +968,24 @@ static struct newresource *scaleresource2 (struct newresource *res, HWND parent, DLGTEMPLATEEX_END *d2, *s2; DLGITEMTEMPLATEEX *dt; BYTE *p, *p2, *ps, *ps2; - struct newresource *ns; res->listviewcnt = 0; res->setparamcnt = 0; + res->hwndcnt = 0; - d = (DLGTEMPLATEEX*)res->resource; - d2 = (DLGTEMPLATEEX_END*)res->resource; + s = (DLGTEMPLATEEX*)res->sourceresource; - if (d->dlgVer != 1 || d->signature != 0xffff) + if (s->dlgVer != 1 || s->signature != 0xffff) return 0; - if (!(d->style & (DS_SETFONT | DS_SHELLFONT))) + if (!(s->style & (DS_SETFONT | DS_SHELLFONT))) return 0; - ns = xcalloc (struct newresource, 1); - if (!ns) - return 0; - ns->inst = res->inst; - ns->size = res->size; - ns->tmpl = res->tmpl; - ns->resource = (LPCDLGTEMPLATEW)xmalloc (uae_u8, ns->size + 32); - memcpy ((void*)ns->resource, res->resource, ns->size); + res->size = res->sourcesize + 32; + res->resource = (LPCDLGTEMPLATEW)xmalloc (uae_u8, res->size); + memcpy ((void*)res->resource, res->sourceresource, res->sourcesize); - d = (DLGTEMPLATEEX*)ns->resource; - s = (DLGTEMPLATEEX*)res->resource; + d = (DLGTEMPLATEEX*)res->resource; + s = (DLGTEMPLATEEX*)res->sourceresource; int width = d->cx; int height = d->cy; @@ -428,13 +1005,13 @@ static struct newresource *scaleresource2 (struct newresource *res, HWND parent, } d->exStyle |= exstyle; - d2 = (DLGTEMPLATEEX_END*)ns->resource; + d2 = (DLGTEMPLATEEX_END*)res->resource; p = (BYTE*)d + sizeof (DLGTEMPLATEEX); p = skiptext (p); p = skiptext (p); p = skiptext (p); - s2 = (DLGTEMPLATEEX_END*)res->resource; + s2 = (DLGTEMPLATEEX_END*)res->sourceresource; ps = (BYTE*)s2 + sizeof (DLGTEMPLATEEX); ps = skiptext (ps); ps = skiptext (ps); @@ -458,12 +1035,12 @@ static struct newresource *scaleresource2 (struct newresource *res, HWND parent, p = skiptextone (p); p = todword (p); - memcpy (p, ps2, ns->size - (ps2 - (BYTE*)res->resource)); + int remain = ps2 - (BYTE*)res->sourceresource; + memcpy (p, ps2, res->sourcesize - remain); int id2 = 0; for (int i = 0; i < d->cDlgItems; i++) { dt = (DLGITEMTEMPLATEEX*)p; - modifyitem(res, d, d2, dt, ns->tmpl); p += sizeof (DLGITEMTEMPLATEEX); p = skiptextone (p); p = skiptext (p); @@ -471,13 +1048,10 @@ static struct newresource *scaleresource2 (struct newresource *res, HWND parent, p += sizeof (WORD); p = todword (p); } - - ns->width = width; - ns->height = height; - return ns; + return 1; } -struct newresource *scaleresource (struct newresource *res, struct dlgcontext *dctx, HWND parent, int resize, int fullscreen, DWORD exstyle, int dlgid) +int scaleresource (struct newresource *res, struct dlgcontext *dctx, HWND parent, int resize, int fullscreen, DWORD exstyle, int dlgid) { dctx->dlgstorecnt = 0; return scaleresource2(res, parent, resize, fullscreen, exstyle, dlgid); @@ -485,10 +1059,11 @@ struct newresource *scaleresource (struct newresource *res, struct dlgcontext *d void freescaleresource (struct newresource *ns) { - if (!ns) + if (!ns->resource) return; xfree ((void*)ns->resource); - xfree (ns); + ns->resource = NULL; + ns->size = 0; } int getscaledfontsize(int size) @@ -567,11 +1142,11 @@ static void regqueryfont (UAEREG *reg, const TCHAR *prefix, const TCHAR *name, T fontweight = _tstoi (p3); if (fontsize == 0) - fontsize = 8; + fontsize = DEFAULT_FONTSIZE; if (fontsize < 5) fontsize = 5; - if (fontsize > 20) - fontsize = 20; + if (fontsize > 30) + fontsize = 30; *pfontsize = fontsize; *pfontstyle = fontstyle; @@ -579,7 +1154,7 @@ static void regqueryfont (UAEREG *reg, const TCHAR *prefix, const TCHAR *name, T *pfontweight = fontweight; } -void scaleresource_setdefaults (void) +void scaleresource_setdefaults(HWND hwnd) { setdeffont (); for (int i = 0; i < MAX_GUI_FONTS; i++) { @@ -587,54 +1162,28 @@ void scaleresource_setdefaults (void) _stprintf (tmp, _T("%s%s"), fontreg[i], fontprefix); regdelete (NULL, tmp); } - openfont (true); } -void scaleresource_init (const TCHAR *prefix, int fullscreen) +void scaleresource_modification(HWND hwnd) +{ +} + +void scaleresource_init(const TCHAR *prefix, int fullscreen) { if (os_vista) font_vista_ok = 1; fontprefix = prefix; - setdeffont (); + setdeffont(); regqueryfont (NULL, fontprefix, fontreg[0], fontname_gui, &fontsize_gui, &fontstyle_gui, &fontweight_gui); regqueryfont (NULL, fontprefix, fontreg[1], fontname_list, &fontsize_list, &fontstyle_list, &fontweight_list); //write_log (_T("GUI font %s:%d:%d:%d\n"), fontname_gui, fontsize_gui, fontstyle_gui, fontweight_gui); //write_log (_T("List font %s:%d:%d:%d\n"), fontname_list, fontsize_list, fontstyle_list, fontweight_list); - - openfont (true); } -#if 0 -static void sizefont (HWND hDlg, const TCHAR *name, int size, int style, int weight, int *width, int *height) -{ - /* ARGH!!! */ - - HDC hdc = GetDC (hDlg); - size = -MulDiv (size, lpy, 72); - HFONT font = CreateFont (size, 0, 0, 0, weight, - (style & ITALIC_FONTTYPE) != 0, 0, 0, DEFAULT_CHARSET, OUT_DEFAULT_PRECIS, CLIP_DEFAULT_PRECIS, DEFAULT_QUALITY, DEFAULT_PITCH | FF_DONTCARE, name); - if (!font) { - *width = 8; - *height = 8; - } else { - HFONT hFontOld = (HFONT)SelectObject (hdc, font); - TEXTMETRIC tm; - SIZE fsize; - GetTextMetrics (hdc, &tm); - GetTextExtentPoint32 (hdc, _T("ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz"), 52, &fsize); - *width = (fsize.cx / 26 + 1) / 2; - *height = tm.tmHeight; - SelectObject (hdc, hFontOld); - DeleteObject (font); - } - ReleaseDC (hDlg, hdc); -} -#endif - int scaleresource_choosefont (HWND hDlg, int fonttype) { CHOOSEFONT cf = { 0 }; @@ -658,14 +1207,12 @@ int scaleresource_choosefont (HWND hDlg, int fonttype) cf.lpLogFont = &lf; cf.nFontType = REGULAR_FONTTYPE; - if (!dpi_aware_v2) { - HDC hdc = GetDC(NULL); - lm = GetDeviceCaps(hdc, LOGPIXELSY); - ReleaseDC(NULL, hdc); - } + HDC hdc = GetDC(NULL); + lm = GetDeviceCaps(hdc, LOGPIXELSY); + ReleaseDC(NULL, hdc); _tcscpy (lf.lfFaceName, fontname[fonttype]); - lf.lfHeight = -MulDiv (*fontsize[fonttype], lm, 72); + lf.lfHeight = -MulDiv(*fontsize[fonttype], lm, 72); lf.lfWeight = *fontweight[fonttype]; lf.lfItalic = (*fontstyle[fonttype] & ITALIC_FONTTYPE) != 0; @@ -683,8 +1230,6 @@ int scaleresource_choosefont (HWND hDlg, int fonttype) regsetfont (NULL, fontprefix, fontreg[fonttype], fontname[fonttype], *fontsize[fonttype], *fontstyle[fonttype], *fontweight[fonttype]); - openfont (true); - return 1; } @@ -738,8 +1283,6 @@ extern int gui_fullscreen; void getextendedframebounds(HWND hwnd, RECT *r) { - r->left = r->right = 0; - r->top = r->bottom = 0; if (!pDwmGetWindowAttribute && !dwmapihandle && os_vista) { dwmapihandle = LoadLibrary(_T("dwmapi.dll")); if (dwmapihandle) -- 2.47.3