| Index: cfgmgr/ReadMe.txt |
| — | — | @@ -26,6 +26,9 @@ |
| 27 | 27 | 5 - Change display mode, aspect corrected stretch if matching mode not found
|
| 28 | 28 | 6 - Change display mode, center if matching mode not found
|
| 29 | 29 | 7 - Crop output to desktop, preserving aspect ratio
|
| | 30 | +8 - Center output, multiply by custom values
|
| | 31 | +9 - Set display to custom resolution and refresh
|
| | 32 | +10 - Center output, scale to custom size
|
| 30 | 33 |
|
| 31 | 34 | Member fullmode
|
| 32 | 35 | INI Entry FullscreenWindowMode
|
| — | — | @@ -100,6 +103,41 @@ |
| 101 | 104 | 1 - Group by depth
|
| 102 | 105 | 2 - Group by resolution
|
| 103 | 106 |
|
| | 107 | +Member CustomResolutionX
|
| | 108 | +REG_DWORD HKCU\DXGL\Profiles\<app>\CustomResolutionX
|
| | 109 | +INI Entry CustomResolutionX
|
| | 110 | +INI Group display
|
| | 111 | +Width of the custom resolution for the display output for modes 9 and 10.
|
| | 112 | +Default is 640
|
| | 113 | +
|
| | 114 | +Member CustomResolutionY
|
| | 115 | +REG_DWORD HKCU\DXGL\Profiles\<app>\CustomResolutionY
|
| | 116 | +INI Entry CustomResolutionY
|
| | 117 | +INI Group display
|
| | 118 | +Height of the custom resolution for the display output for modes 9 and 10.
|
| | 119 | +Default is 480
|
| | 120 | +
|
| | 121 | +Member CustomRefresh
|
| | 122 | +REG_DWORD HKCU\DXGL\Profiles\<app>\CustomRefresh
|
| | 123 | +INI Entry CustomRefresh
|
| | 124 | +INI Group display
|
| | 125 | +Refresh rate for the display output for modes 9 and 10.
|
| | 126 | +Default is 60
|
| | 127 | +
|
| | 128 | +Member DisplayMultiplierX
|
| | 129 | +REG_DWORD HKCU\DXGL\Profiles\<app>\
|
| | 130 | +INI Entry DisplayMultiplierX
|
| | 131 | +INI Group display
|
| | 132 | +Multiplier for the pixel width for display mode 8.
|
| | 133 | +Default is 1.0
|
| | 134 | +
|
| | 135 | +Member DisplayMultiplierY
|
| | 136 | +REG_DWORD HKCU\DXGL\Profiles\<app>\
|
| | 137 | +INI Entry DisplayMultiplierY
|
| | 138 | +INI Group display
|
| | 139 | +Multiplier for the pixel height for display mode 8.
|
| | 140 | +Default is 1.0
|
| | 141 | +
|
| 104 | 142 | Member scalingfilter
|
| 105 | 143 | INI Entry ScalingFilter
|
| 106 | 144 | INI Group scaling
|
| Index: cfgmgr/cfgmgr.c |
| — | — | @@ -554,6 +554,11 @@ |
| 555 | 555 | cfg->AddColorDepths = ReadDWORD(hKey,cfg->AddColorDepths,&cfgmask->AddColorDepths,_T("AddColorDepths"));
|
| 556 | 556 | cfg->AddModes = ReadDeprecatedBool(hKey, cfg->AddModes, &cfgmask->AddModes, _T("ExtraModes"),7,0);
|
| 557 | 557 | cfg->AddModes = ReadDWORD(hKey, cfg->AddModes, &cfgmask->AddModes, _T("AddModes"));
|
| | 558 | + cfg->CustomResolutionX = ReadDWORD(hKey, cfg->CustomResolutionX, &cfgmask->CustomResolutionX, _T("CustomResolutionX"));
|
| | 559 | + cfg->CustomResolutionY = ReadDWORD(hKey, cfg->CustomResolutionY, &cfgmask->CustomResolutionY, _T("CustomResolutionY"));
|
| | 560 | + cfg->CustomRefresh = ReadDWORD(hKey, cfg->CustomRefresh, &cfgmask->CustomRefresh, _T("CustomRefresh"));
|
| | 561 | + cfg->DisplayMultiplierX = ReadFloat(hKey, cfg->DisplayMultiplierX, &cfgmask->DisplayMultiplierX, _T("DisplayMultiplierX"));
|
| | 562 | + cfg->DisplayMultiplierY = ReadFloat(hKey, cfg->DisplayMultiplierY, &cfgmask->DisplayMultiplierY, _T("DisplayMultiplierY"));
|
| 558 | 563 | cfg->vsync = ReadDWORD(hKey,cfg->vsync,&cfgmask->vsync,_T("VSync"));
|
| 559 | 564 | cfg->TextureFormat = ReadDWORD(hKey,cfg->TextureFormat,&cfgmask->TextureFormat,_T("TextureFormat"));
|
| 560 | 565 | cfg->TexUpload = ReadDWORD(hKey,cfg->TexUpload,&cfgmask->TexUpload,_T("TexUpload"));
|
| — | — | @@ -677,6 +682,11 @@ |
| 678 | 683 | WriteDWORD(hKey,cfg->SortModes,cfgmask->SortModes,_T("SortModes"));
|
| 679 | 684 | WriteDWORD(hKey,cfg->AddColorDepths,cfgmask->AddColorDepths,_T("AddColorDepths"));
|
| 680 | 685 | WriteDWORD(hKey,cfg->AddModes,cfgmask->AddModes,_T("AddModes"));
|
| | 686 | + WriteDWORD(hKey, cfg->CustomResolutionX, cfgmask->CustomResolutionX, _T("CustomResolutionX"));
|
| | 687 | + WriteDWORD(hKey, cfg->CustomResolutionY, cfgmask->CustomResolutionY, _T("CustomResolutionY"));
|
| | 688 | + WriteDWORD(hKey, cfg->CustomRefresh, cfgmask->CustomRefresh, _T("CustomRefresh"));
|
| | 689 | + WriteFloat(hKey, cfg->DisplayMultiplierX, cfgmask->DisplayMultiplierX, _T("DisplayMultiplierX"));
|
| | 690 | + WriteFloat(hKey, cfg->DisplayMultiplierY, cfgmask->DisplayMultiplierX, _T("DisplayMultiplierY"));
|
| 681 | 691 | WriteDWORD(hKey,cfg->vsync,cfgmask->vsync,_T("VSync"));
|
| 682 | 692 | WriteDWORD(hKey,cfg->TextureFormat,cfgmask->TextureFormat,_T("TextureFormat"));
|
| 683 | 693 | WriteDWORD(hKey,cfg->TexUpload,cfgmask->TexUpload,_T("TexUpload"));
|
| — | — | @@ -891,6 +901,11 @@ |
| 892 | 902 | if (!stricmp(name, "PrimaryScaleY")) cfg->primaryscaley = INIFloatValue(value);
|
| 893 | 903 | if (!stricmp(name, "ScreenAspect")) cfg->aspect = INIAspectValue(value);
|
| 894 | 904 | if (!stricmp(name, "DPIScale")) cfg->DPIScale = INIIntValue(value);
|
| | 905 | + if (!stricmp(name, "CustomResolutionX")) cfg->CustomResolutionX = INIIntValue(value);
|
| | 906 | + if (!stricmp(name, "CustomResolutionY")) cfg->CustomResolutionY = INIIntValue(value);
|
| | 907 | + if (!stricmp(name, "CustomRefresh")) cfg->CustomRefresh = INIIntValue(value);
|
| | 908 | + if (!stricmp(name, "DisplayMultiplierX")) cfg->DisplayMultiplierX = INIFloatValue(value);
|
| | 909 | + if (!stricmp(name, "DisplayMultiplierY")) cfg->DisplayMultiplierY = INIFloatValue(value);
|
| 895 | 910 | }
|
| 896 | 911 | if (!stricmp(section, "postprocess"))
|
| 897 | 912 | {
|
| Index: cfgmgr/cfgmgr.h |
| — | — | @@ -35,6 +35,11 @@ |
| 36 | 36 | DWORD AddColorDepths;
|
| 37 | 37 | DWORD AddModes;
|
| 38 | 38 | DWORD SortModes;
|
| | 39 | + DWORD CustomResolutionX;
|
| | 40 | + DWORD CustomResolutionY;
|
| | 41 | + DWORD CustomRefresh;
|
| | 42 | + float DisplayMultiplierX;
|
| | 43 | + float DisplayMultiplierY;
|
| 39 | 44 | // [scaling]
|
| 40 | 45 | DWORD scalingfilter;
|
| 41 | 46 | DWORD primaryscale;
|
| Index: dxgl-example.ini |
| — | — | @@ -65,6 +65,9 @@ |
| 66 | 66 | ; 5 - Change display mode, aspect corrected stretch if matching mode not found
|
| 67 | 67 | ; 6 - Change display mode, center if matching mode not found
|
| 68 | 68 | ; 7 - Crop output to desktop, preserving aspect ratio
|
| | 69 | +; 8 - Center output, multiply by custom values
|
| | 70 | +; 9 - Set display to custom resolution and refresh
|
| | 71 | +; 10 - Center output, scale to custom size
|
| 69 | 72 | ScalingMode = 0
|
| 70 | 73 |
|
| 71 | 74 | ; FullscreenWindowMode - Integer
|
| — | — | @@ -150,6 +153,31 @@ |
| 151 | 154 | ; Default is 0.
|
| 152 | 155 | SortModes = 0
|
| 153 | 156 |
|
| | 157 | +; CustomResolutionX - Integer
|
| | 158 | +; Width of the custom resolution for the display output for modes 9 and 10.
|
| | 159 | +; Default is 640.
|
| | 160 | +CustomResolutionX = 640
|
| | 161 | +
|
| | 162 | +; CustomResolutionY - Integer
|
| | 163 | +; Height of the custom resolution for the display output for modes 9 and 10.
|
| | 164 | +; Default is 480;
|
| | 165 | +CustomResolutionY = 480
|
| | 166 | +
|
| | 167 | +; CustomRefresh - Integer
|
| | 168 | +; Refresh rate for the display output for modes 9 and 10.
|
| | 169 | +; Default is 60.
|
| | 170 | +CustomRefresh = 60
|
| | 171 | +
|
| | 172 | +; DisplayMultiplierX - Floating point
|
| | 173 | +; Multiplier for the pixel width for display mode 8.
|
| | 174 | +; Default is 1.0.
|
| | 175 | +DisplayMultiplierX = 1.0
|
| | 176 | +
|
| | 177 | +; DisplayMultiplierY - Floating point
|
| | 178 | +; Multiplier for the pixel height for display mode 8.
|
| | 179 | +; Default is 1.0.
|
| | 180 | +DisplayMultiplierY = 1.0
|
| | 181 | +
|
| 154 | 182 | [scaling]
|
| 155 | 183 | ; ScalingFilter - Integer
|
| 156 | 184 | ; Selects the filter to be used to scale the output image
|
| Index: dxglcfg/dxglcfg.rc |
| — | — | @@ -76,7 +76,7 @@ |
| 77 | 77 | LTEXT "Y", IDC_FIXEDSCALELABELY, 57, 97, 8, 9, WS_DISABLED | SS_LEFT, WS_EX_LEFT
|
| 78 | 78 | EDITTEXT IDC_FIXEDSCALEY, 65, 94, 40, 14, WS_DISABLED | ES_AUTOHSCROLL, WS_EX_LEFT
|
| 79 | 79 | LTEXT "Custom resolution", 0, 114, 83, 58, 9, SS_LEFT, WS_EX_LEFT
|
| 80 | | - EDITTEXT IDC_CUSTOMMODE, 114, 94, 71, 14, ES_AUTOHSCROLL, WS_EX_LEFT
|
| | 80 | + EDITTEXT IDC_CUSTOMMODE, 114, 94, 71, 14, WS_DISABLED | ES_AUTOHSCROLL, WS_EX_LEFT
|
| 81 | 81 | PUSHBUTTON "Select", IDC_SETMODE, 187, 94, 29, 14, WS_DISABLED, WS_EX_LEFT
|
| 82 | 82 | AUTOCHECKBOX "Change display color depth", IDC_COLOR, 7, 113, 100, 10, 0, WS_EX_LEFT
|
| 83 | 83 | AUTOCHECKBOX "Single buffered display", IDC_SINGLEBUFFER, 114, 114, 87, 8, 0, WS_EX_LEFT
|