|
| 1 | +;========================================================================== |
| 2 | +; === Text based config file for dgVoodoo2 |
| 3 | +; === Use this file if you are a game modder/hacker or an experted user and |
| 4 | +; want to modify some advanced properties not available via the CPL. |
| 5 | +;========================================================================== |
| 6 | + |
| 7 | +Version = 0x280 |
| 8 | + |
| 9 | +;-------------------------------------------------------------------------- |
| 10 | + |
| 11 | +[General] |
| 12 | + |
| 13 | +; OutputAPI: "d3d11warp", "d3d11_fl10_0", "d3d11_fl10_1", "d3d11_fl11_0", |
| 14 | +; "d3d12_fl11_0", "d3d12_fl12_0", "bestavailable" |
| 15 | +; Adapters: "all", or the ordinal of the adapter (1, ...) |
| 16 | +;FullScreenOutput: "default", or the ordinal of the output on the adapter (1, ...) |
| 17 | +; ScalingMode: "unspecified", "centered", "stretched", "centered_ar", "stretched_ar", "stretched_ar_crt", |
| 18 | +; "stretched_4_3", "stretched_4_3_crt", "stretched_4_3_c64" |
| 19 | +; |
| 20 | +;InheritColorProfileInFullScreenMode: |
| 21 | +; Enabled by default and can only be disabled only when a D3D11 output API |
| 22 | +; is explicitly selected. Disabled case is intended for avoiding extra |
| 23 | +; rendering resources on old hardware for better performance, if required. |
| 24 | + |
| 25 | +OutputAPI = bestavailable |
| 26 | +Adapters = all |
| 27 | +FullScreenOutput = default |
| 28 | +FullScreenMode = false |
| 29 | +ScalingMode = stretched_ar |
| 30 | +ProgressiveScanlineOrder = false |
| 31 | +EnumerateRefreshRates = false |
| 32 | + |
| 33 | +Brightness = 100 |
| 34 | +Color = 100 |
| 35 | +Contrast = 100 |
| 36 | +InheritColorProfileInFullScreenMode = true |
| 37 | + |
| 38 | +KeepWindowAspectRatio = true |
| 39 | +CaptureMouse = false |
| 40 | +CenterAppWindow = false |
| 41 | + |
| 42 | +;-------------------------------------------------------------------------- |
| 43 | + |
| 44 | +[GeneralExt] |
| 45 | + |
| 46 | +; DesktopResolution: Desktop (native) resolution can be forced for dgVoodoo's internal calculations. |
| 47 | +; Useful for rare applications that pre-set the desktop to other than the native |
| 48 | +; resolution before dgVoodoo gets in action. Only the compact format can be used here, |
| 49 | +; and applies to all outputs of the desktop. |
| 50 | +; DesktopBitDepth: You can define what screen bit depth should be reported through dgVoodoo |
| 51 | +; (8, 16, 32) |
| 52 | +; DeframerSize: When resolution is forced to other than the app default then |
| 53 | +; a black frame is drawn around the output image coming from a wrapped API |
| 54 | +; to remove scaling artifacts - |
| 55 | +; frame thickness can be defined in pixels (max 16, 0 = disable) |
| 56 | +; ImageScaleFactor: Integer factor for scaling the output image coming from a wrapped API |
| 57 | +; Always done by nearest point filtering, independent on scaling mode |
| 58 | +; (0 = max available) |
| 59 | +; Separate factors can be defined for horizontal and vertical scaling |
| 60 | +; by subproperties, e.g. |
| 61 | +; ImageScaleFactor = x:3, y:2 |
| 62 | +; CursorScaleFactor: Integer factor for scaling the emulated hardware mouse (max 16) |
| 63 | +; (0 = automatic, 1 = no scale, 2 = double scale, ...) |
| 64 | +; DisplayROI: Display region of interest |
| 65 | +; If scaling is done by the dgVoodoo then you can define a subrect of the |
| 66 | +; output image, coming from a wrapped API, to be displayed. The defined subrect |
| 67 | +; is mapped to the display output according to the current scaling mode |
| 68 | +; It can be useful for applications rendering a widescreen subimage into a 4:3 |
| 69 | +; resolution; in this case you can scale up that subimage to (nearly) fill the |
| 70 | +; whole screen on a widescreen monitor. |
| 71 | +; DisplayROI empty value means the whole image. |
| 72 | +; DisplayROI value can be a proportion in form of %d_%d or a pixel size (%d|%d) |
| 73 | +; Pos subproperty is not mandatory and can be 'centered' or a pixel position (%d|%d) |
| 74 | +; Examples: DisplayROI = 16_9, pos:centered |
| 75 | +; DisplayROI = (320|200), pos:(10|10) |
| 76 | +; Resampling: When scaling is done by the dgVoodoo for the given scaling mode, |
| 77 | +; you can choose which filter is to be used for resampling the output image |
| 78 | +; Available filters are: "pointsampled", "bilinear", "bicubic", "lanczos-2", "lanczos-3" |
| 79 | +; PresentationModel: Low-level swapchain swap effect: if you know what you are doing then it can be |
| 80 | +; overridden here. Flip models are better suited for modern OS features like auto HDR, |
| 81 | +; while plain legacy models provide the best presentation performance under ideal conditions |
| 82 | +; Not all model + output API + OS version combinations are supported. |
| 83 | +; "auto", "discard", "seq", "flip_discard", "flip_seq" |
| 84 | +; FreeMouse: If true then physical mouse is free to move inside the game window |
| 85 | +; when using emulated scaling and/or application and forced resolution |
| 86 | +; differs; can be useful when a game relies on the physical window size |
| 87 | +; WindowedAttributes: You can define attributes for forced windowed appearance (separated by commas): |
| 88 | +; "borderless" - forces the app window not have any border |
| 89 | +; "alwaysontop" - forces the app window into the top-most band |
| 90 | +; "fullscreensize" - forces the app window to be full screen size with image scaling inside |
| 91 | +; FullscreenAttributes: You can define attributes for fullscreen appearance (separated by commas): |
| 92 | +; "fake" - forces fake fullscreen mode with a screen-size window |
| 93 | +; FPSLimit: An integer or rational (fractional) value, 0 = unlimited |
| 94 | +; Environment: Software environment in which dgVoodoo is running: can be left unspecified (native) |
| 95 | +; or can be set to 'DosBox' or 'QEmu'. |
| 96 | +; SystemHookFlags: You can define which part of the system should be hooked (x86-DX only): |
| 97 | +; "gdi" - for showing graphical contents rendered through GDI |
| 98 | +; (like movie playback through the ancient Windows Multimedia AVI player library) |
| 99 | +; "cursor" - for suppressing double-cursor symptoms when the cursor is emulated |
| 100 | + |
| 101 | +DesktopResolution = |
| 102 | +DesktopBitDepth = |
| 103 | +DeframerSize = 1 |
| 104 | +ImageScaleFactor = 1 |
| 105 | +CursorScaleFactor = 0 |
| 106 | +DisplayROI = |
| 107 | +Resampling = bilinear |
| 108 | +PresentationModel = auto |
| 109 | +FreeMouse = false |
| 110 | +WindowedAttributes = |
| 111 | +FullscreenAttributes = |
| 112 | +FPSLimit = 0 |
| 113 | +Environment = |
| 114 | +SystemHookFlags = |
| 115 | + |
| 116 | +;-------------------------------------------------------------------------- |
| 117 | + |
| 118 | +[Glide] |
| 119 | + |
| 120 | +; VideoCard: "voodoo_graphics", "voodoo_rush", "voodoo_2", "voodoo_banshee", "other_greater" |
| 121 | +; OnboardRAM: in MBs |
| 122 | +; MemorySizeOfTMU: in kBs |
| 123 | +; TMUFiltering: "appdriven", "pointsampled", "bilinear" |
| 124 | +; |
| 125 | +; Resolution: either "unforced", "max", "max_isf", "max_fhd", "max_fhd_isf", "max_qhd", "max_qhd_isf", "desktop", "%dx", |
| 126 | +; "max_%dx", "max_isf_%dx", "max_fhd_%dx", "max_fhd_isf_%d"x, "max_qhd_%dx", "max_qhd_isf_%dx", "desktop_%dx" |
| 127 | +; or subproperties: h: horizontal, v: vertical |
| 128 | +; + optional subproperty refrate: refresh rate in Hz |
| 129 | +; e.g. Resolution = max, refrate:60 |
| 130 | +; Resolution = 2x, refrate:59 |
| 131 | +; Resolution = h:1280, v:1024, refrate:75 |
| 132 | +; Resolution = max_2x |
| 133 | +; or just use the compact form like "1024x768@60" or "512x384" |
| 134 | +; |
| 135 | +;Antialiasing: "off", "appdriven", "2x", "4x", "8x", "16x" (your GPU must support the chosen one) |
| 136 | + |
| 137 | +VideoCard = voodoo_2 |
| 138 | +OnboardRAM = 8 |
| 139 | +MemorySizeOfTMU = 4096 |
| 140 | +NumberOfTMUs = 2 |
| 141 | +TMUFiltering = appdriven |
| 142 | +DisableMipmapping = false |
| 143 | +Resolution = unforced |
| 144 | +Antialiasing = appdriven |
| 145 | + |
| 146 | +EnableGlideGammaRamp = true |
| 147 | +ForceVerticalSync = true |
| 148 | +ForceEmulatingTruePCIAccess = false |
| 149 | +16BitDepthBuffer = false |
| 150 | +3DfxWatermark = true |
| 151 | +3DfxSplashScreen = false |
| 152 | +PointcastPalette = false |
| 153 | +EnableInactiveAppState = false |
| 154 | + |
| 155 | + |
| 156 | +;-------------------------------------------------------------------------- |
| 157 | + |
| 158 | +[GlideExt] |
| 159 | + |
| 160 | +; DitheringEffect: "pure32bit", "dither2x2", "dither4x4" |
| 161 | +; Dithering: "disabled", "appdriven", "forcealways" |
| 162 | +; DitherOrderedMatrixSizeScale: integer scale value for dither matrix size |
| 163 | +; 1 = normal, 2 = double size, etc. |
| 164 | +; 0 = automatic (the aim is to have some retro feel&look) |
| 165 | + |
| 166 | +DitheringEffect = pure32bit |
| 167 | +Dithering = forcealways |
| 168 | +DitherOrderedMatrixSizeScale = 0 |
| 169 | + |
| 170 | +;-------------------------------------------------------------------------- |
| 171 | + |
| 172 | +[DirectX] |
| 173 | + |
| 174 | +; VideoCard: "svga", "internal3D", "geforce_ti_4800", "ati_radeon_8500", |
| 175 | +; "matrox_parhelia-512", "geforce_fx_5700_ultra", "geforce_9800_gt" |
| 176 | +; VRAM: in MBs (default) or in GBs (e.g. VRAM = 2GB) |
| 177 | +; Filtering: "appdriven", "pointsampled", "bilinear", "linearmip", "trilinear" |
| 178 | +; or the integer value of an anisotropic filtering level (1-16) |
| 179 | +; KeepFilterIfPointSampled: if enabled then forced filtering affects only non-point sampled textures |
| 180 | +; Bilinear2DOperations: if enabled then DirectDraw Blit and CPU-written data is transferred with bilinear scaling |
| 181 | + |
| 182 | +DisableAndPassThru = false |
| 183 | + |
| 184 | +VideoCard = internal3D |
| 185 | +VRAM = 512 |
| 186 | +Filtering = appdriven |
| 187 | +KeepFilterIfPointSampled = false |
| 188 | +DisableMipmapping = false |
| 189 | +Resolution = max_qhd_isf |
| 190 | +Antialiasing = appdriven |
| 191 | + |
| 192 | +AppControlledScreenMode = true |
| 193 | +DisableAltEnterToToggleScreenMode = true |
| 194 | + |
| 195 | +Bilinear2DOperations = false |
| 196 | +PhongShadingWhenPossible = false |
| 197 | +ForceVerticalSync = true |
| 198 | +dgVoodooWatermark = false |
| 199 | +FastVideoMemoryAccess = false |
| 200 | + |
| 201 | +;-------------------------------------------------------------------------- |
| 202 | + |
| 203 | +[DirectXExt] |
| 204 | + |
| 205 | +; AdapterIDType: "nvidia", "amd", "intel" or leave it undefined |
| 206 | +; You can define what type of driver version and vendor id's the wrapper should report to |
| 207 | +; the application; Some games rely on that information so it can be useful for them |
| 208 | +; Can be defined only for SVGA and Internal3D card types; the others have their own wired |
| 209 | +; information |
| 210 | + |
| 211 | +; VendorID, DeviceID, SubsystemID, RevisionID: |
| 212 | +; Can be defined only for SVGA and Internal3D card types |
| 213 | +; You can overwrite these properties even if a non-default AdapterIDType is defined; |
| 214 | +; say, you defined an nvidia id type but would like to refine the vendor id |
| 215 | + |
| 216 | +; DefaultEnumeratedResolutions: you can define what resolutions should be enumerated to the application by default |
| 217 | +; "all", "classics", "none" |
| 218 | + |
| 219 | +; ExtraEnumeratedResolutions: you can add extra resolutions (separated by commas, max 16) that will get |
| 220 | +; enumerated to the application as display adapter supported ones - |
| 221 | +; can be useful if an app supports rendering at arbitrary resolutions |
| 222 | +; and you have a particular favorite resolution that are not |
| 223 | +; enumerated to the application by default |
| 224 | +; you can either use the compact resolution format here, or |
| 225 | +; "max", "max@refrate" meaning your desktop resolution with a potential refresh rate, or |
| 226 | +; "max_4_3", "max_4_3@refrate", "max_16_9", "max_16_9@refrate" |
| 227 | +; meaning the maximum resolution with the given aspect ratio calculated from |
| 228 | +; the desktop resolution with the given refresh rate, e.g. "max_4_3@60", "max_16_9" |
| 229 | + |
| 230 | +; EnumeratedResolutionBitdepths: you can filter what bitdepths are included in the resolution enumeration |
| 231 | +; any subset of {"8", "16", "32"}, or "all" |
| 232 | + |
| 233 | +; DitheringEffect: "pure32bit", "ordered2x2", "ordered4x4" |
| 234 | +; Dithering: "disabled", "appdriven", "forceon16bit", "forcealways" |
| 235 | +; DitherOrderedMatrixSizeScale: integer scale value for dither matrix size |
| 236 | +; 1 = normal, 2 = double size, etc. |
| 237 | +; 0 = automatic |
| 238 | +; DepthBuffersBitDepth: internal bit depth of depth/stencil buffers for 3D rendering (32 bit is not recommended) |
| 239 | +; "appdriven", "forcemin24bit", "force32bit" |
| 240 | +; Default3DRenderFormat: default format of 3D rendering |
| 241 | +; argb2101010 gives higher dynamic range but it can break the rendering |
| 242 | +; "argb8888", "argb2101010" |
| 243 | + |
| 244 | +; MaxVSConstRegisters: Max number of vertex shader constant registers (DX8/9 only) |
| 245 | +; Can be defined only for SVGA and Internal3D card types |
| 246 | +; Valid values are 256 (default), 512 or 1024 |
| 247 | + |
| 248 | +; NPatchTesselationLevel: Force N-Patch tesselation level (D3D8/9) |
| 249 | +; 0 = app driven |
| 250 | +; 1 = disable |
| 251 | +; 2 to 8 = a forced tesselation level |
| 252 | +; Altough tesselation works with all vertex shader versions, you can force level higher than 1 |
| 253 | +; only for the fixed function or vs.1.x vertex pipeline because of performance and practical reasons |
| 254 | +; (forced tesselation also disables adaptive mode (D3D9), but forcing is not recommended at all, anyway) |
| 255 | + |
| 256 | +; DisplayOutputEnableMask: Each bit in this 32 bit value corresponds to a display output. Display outputs of the adapters are numbered |
| 257 | +; sequentially. If Adapter0 has n display outputs and Adapter1 has m display outputs attached then the lowest |
| 258 | +; n bits match Adapter0 display outputs, the next m bits match Adapter1 outputs, and so on. The lowest bit |
| 259 | +; in a group corresponds to Output0. If a bit value is 0 then the display output is disabled for the device |
| 260 | +; enumeration, in other words, it is invisible to the application. It can be useful for D3D9 multihead- |
| 261 | +; or very special applications where you want to enable only individual displays on your monitor wall. |
| 262 | + |
| 263 | +; MSD3DDeviceNames: if true then original Microsoft D3D device names are exposed |
| 264 | +; (some applications check for them and they fail) |
| 265 | + |
| 266 | +; RTTexturesForceScaleAndMSAA: if true then forced resolution scaling and MSAA is |
| 267 | +; applied also to rendertarget textures |
| 268 | +; Set it to false for games requiring pixel-precise rendering |
| 269 | +; but be careful it can EASILY break certain things, not recommended |
| 270 | + |
| 271 | +; SmoothedDepthSampling: if true then extra smoothing is added to depth textures |
| 272 | +; when they are sampled |
| 273 | + |
| 274 | +; DeferredScreenModeSwitch: If true the switching to full screen is deferred after the application initialized |
| 275 | +; the DirectX device; can be useful for games that don't expect rendering window changes |
| 276 | +; during initialization and crash |
| 277 | + |
| 278 | +; PrimarySurfaceBatchedUpdate: If true then direct changes of the primary surface are batched together for presenting them |
| 279 | +; If false then each change is instantly presented (debug-like mode) |
| 280 | + |
| 281 | +AdapterIDType = |
| 282 | +VendorID = |
| 283 | +DeviceID = |
| 284 | +SubsystemID = |
| 285 | +RevisionID = |
| 286 | + |
| 287 | +DefaultEnumeratedResolutions = all |
| 288 | +ExtraEnumeratedResolutions = |
| 289 | +EnumeratedResolutionBitdepths = all |
| 290 | + |
| 291 | +DitheringEffect = pure32bit |
| 292 | +Dithering = forcealways |
| 293 | +DitherOrderedMatrixSizeScale = 0 |
| 294 | +DepthBuffersBitDepth = appdriven |
| 295 | +Default3DRenderFormat = argb8888 |
| 296 | + |
| 297 | +MaxVSConstRegisters = 256 |
| 298 | + |
| 299 | +NPatchTesselationLevel = 0 |
| 300 | + |
| 301 | +DisplayOutputEnableMask = 0xffffffff |
| 302 | + |
| 303 | +MSD3DDeviceNames = false |
| 304 | +RTTexturesForceScaleAndMSAA = true |
| 305 | +SmoothedDepthSampling = true |
| 306 | +DeferredScreenModeSwitch = false |
| 307 | +PrimarySurfaceBatchedUpdate = false |
| 308 | + |
| 309 | +;-------------------------------------------------------------------------- |
| 310 | + |
| 311 | +[Debug] |
| 312 | + |
| 313 | +; This section affects only debug/spec release builds |
| 314 | +; |
| 315 | +; Info, Warning, Error |
| 316 | +; "Disable" - disables all messages and debugger break |
| 317 | +; "Enable" - enables messages and disables debugger break |
| 318 | +; "EnableBreak" - enables both messages and breaking into debugger |
| 319 | +; |
| 320 | +; MaxTraceLevel: Maximum level of tracing API calls |
| 321 | +; 0 - Disable |
| 322 | +; 1 - API Functions and methods |
| 323 | +; 2 - Additional trace info for internals |
| 324 | +; |
| 325 | +; LogToFile: if false or debugger is detected then output goes to the debug output |
| 326 | +; if true and no debugger detected then output goes to 'dgVoodoo.log' |
| 327 | +; (not implemented yet, always the default debug output is used) |
| 328 | + |
| 329 | +Info = enable |
| 330 | +Warning = enable |
| 331 | +Error = enable |
| 332 | +MaxTraceLevel = 0 |
| 333 | + |
| 334 | +;LogToFile = false |
0 commit comments