-
Notifications
You must be signed in to change notification settings - Fork 91
Configuration
The default Settings.ini
file has limited configuration options to make it easy to use DxWrapper. In most cases all of the things that are needed can be configured from here. However in rare cases you may need to enable an advanced option. To see the advanced options you can open the AllSettings.ini
file and add setting from there. More details on that later.
When DxWrapper loads it tries to read the ini file. It looks for an ini file with the same name as the dll file. For example if you are using the winmm.dll
file then it will look for a file called winmm.ini
. Make sure to rename the ini file to match the dll name.
Also see: Configuration (stub)
Also see: Configuration (advanced)
Table of Contents:
Below are basic settings for DxWrapper:
RealDllPath
By default when DxWrapper is wrapping a dll it will load the Windows System dll. However, if you need DxWrapper to load a different dll you can list that dll here. A use case for this would be if you want to use DxWrapper alongside some other wrapper like dgVoodoo or an existing game dll with the same name.
Note: this option only works if you either rename DxWrapper to match the name of the file you are wrapping (such as d3d8.dll or ddraw.dll) or if you are using this setting on the stub dll. To use this setting on the stub dll you will need to create a new ini file that matches the name of the stub dll and add this setting into that ini file.
WrapperMode
This tells DxWrapper which dll it is wrapping. By default DxWrapper will detect the name of the wrapper and use the mode associated with the name. So, if you are wrapping d3d8.dll then it will automatically choose the d3d8
wrapper mode. However, in some circumstances games will rename the dll file. For example, if you are playing the GOG version of American Conquest, then it has a dll named mdraw.dll
that is just ddraw.dll renamed. In this case you would rename DxWrapper to mdraw.dll
and you would need to set the WrapperMode
to ddraw
to tell DxWrapper that this is a ddraw dll.
Supported wrapper modes are: bcrypt
, cryptsp
, d2d1
, d3d8
, d3d9
, d3d10
, d3d11
, d3d12
, dciman32
, ddraw
, dinput
, dinput8
, dplayx
, dsound
, dwmapi
, msacm32
, msvfw32
, version
, wininet
, winmm
, wsock32
, winmmbase
.
LoadCustomDllPath
This will load additional dlls into the program. This is useful if there are specific dlls that need to be loaded, for example the program keeps loading a system dll and you want the program to load a custom dll. This technique comes in handy in a few games like Warhammer 40,000 Chaos Gate and Star Wars Battlefront. To use this you can specify just the dll name or the full path and name.
ExcludeProcess
By default DxWrapper will load into all games in a specified folder that load the wrapped dll. However, in some circumstances you may not want to DxWrapper to load into a specific process. You can use this option to exclude that process name.
IncludeProcess
By default DxWrapper will load into all games in a specified folder that load the wrapped dll. However, in some circumstances you may want to DxWrapper to load only into one specific process. You can use this option to tell DxWrapper to only load into that one specific process name.
Note: Another way to do this is to rename the ini file. If you add the process name to the ini file name only that process will load this ini file. This can be useful if you have multiple processes in a single folder and you want different settings for each process. If for example you have a process named game.exe
then you can rename dxwrapper.ini
to dxwrapper-game.ini
. This will tell dxwrapper that these settings should only work on the process game.exe
.
RunProcess
This will run a process when the application starts up. This is useful if you want something to happen when the program starts up, for example if you want to mount an ISO or change a registry key. To use this you just need to type the command that you want to run.
WaitForProcess
This will pause the loading of the game until the process finishes. You can use this if the process needs to complete before the program will function. For instance if you need to mount an ISO for the game to run. This can be set to 0
for off or 1
for on.
DisableLogging
This will disable all logging for DxWrapper. It is recommended to keep logging enabled while you are first installing and testing DxWrapper with a game. Then, once the game is running correctly you can disable logging, if you like. However, if you keep logging enabled it can help you find issues later if they arise. This can be set to '0' for off or '1' for on.
LoadPlugins
Built from ThirteenAG's Ultimate-ASI-Loader. If this option will load custom libraries with the file extension .asi into the game process. It loads ASI files in game root directory, scripts
and plugins
folders.
LoadFromScriptsOnly
If this option is enabled then DxWrapper will only load ASI files in the scripts
and plugins
folders. This can be set to '0' for off or '1' for on.
Dd7to9
This option improves compatibility in games using DirectX 1-7 by converting them into Direct3D 9. This is useful for games that use ddraw for their rendering engine. It supports all 7 versions of ddraw 2D APIs and a number of the 3D APIs. This can be set to '0' for off or '1' for on.
Note: once Dd7to9
is enabled for a ddraw game the settings for this game can be controlled via all three of the ddraw, Dd7to9 and d3d9 section options. For example you can use the FullscreenWindowMode
option on a ddraw game even though this option is a d3d9 option because the game has been converted to Direct3D9 (which is d3d9).
D3d8to9
This enables ReShade's d3d8to9 module that is intended to improve compatibility and stability in games using Direct3D 8 by converting all API calls to equivalent Direct3D 9 ones. It also opens those games up to the new possibilities from proven tools and wrappers written for Direct3D 9. This can be set to 0
for off or 1
for on.
Note: once D3d8to9
is enabled for a Direct3d 8 game the settings for this game can be controlled via d3d9 section options. For example you can use the AntiAliasing
option on a Direct3d 8 game even though this option is a d3d9 option because the game has been converted to Direct3D 9 (which is d3d9).
DDrawCompat
This enables the DDrawCompat library. This can be enabled when wrapping any dll, however most of its functions will only work if the game uses ddraw.dll
. This can be set to 0
for off or 1
for on.
Dinputto8
This enables the Dinputto8 library, which improves compatibility in games using DirectInput 1-7 (dinput.dll) by converting all API calls to their equivalent DirectInput 8 (dinput8.dll) ones. This allows older games to be able to use newer tools and wrappers written for DirectInput 8. This can be set to '0' for off or '1' for on.
DisableGameUX
This option disables the Microsoft Game Explorer (GameUX) to prevent rundll32.exe from using high CPU or causing the game to freeze. This can be set to '0' for off or '1' for on.
EnableDdrawWrapper
This option enables the built-in ddraw wrapper which has some built-in fixes for specific ddraw bugs. It also allows the options in the ddraw section to be available for use. Either EnableDdrawWrapper
or Dd7to9
must be enabled before the options in the ddraw section are available for use. This can be set to '0' for off or '1' for on.
EnableD3d9Wrapper
This option enables the built-in Direct3D 9 wrapper which has some built-in fixes for specific Direct3D 9 bugs. It also allows the options in the d3d9 section to be available for use. This can be set to '0' for off or '1' for on.
EnableDinput8Wrapper
This enables DirectInput8 wrapper. It also allows the options in the dinput8 section. This can be set to '0' for off or '1' for on.
EnableDsoundWrapper
This enables a wrapper that has same options to tweak some function calls of games using Microsoft DirectSound (part of DirectX). It also allows the options in the dsound section to be available for use and can "work around" some driver and application limitations and bugs. It can also enhance the sound quality in many ways, for example by enabling 3D sound with games that disables this functionality by default. This can be set to '0' for off or '1' for on.
HandleExceptions
This option will allow DxWrapper to set its own exception handler that tries (often successfully) to fix several common exceptions, such as the divide by zero exception in old games that were trying to calculate the CPU speed. This can be set to '0' for off or '1' for on.
SingleProcAffinity
This option limits the game to one CPU core. Some games are not properly synchronized to run on multiple CPU cores, or simply don't properly handle powerful CPUs. Set SingleCoreAffinity
to a value of 1
or higher to change core used. (1 = CPU 0, 2 = CPU 1, etc.) If the value is set to a number that is greater than the available cores on your computer, it will default to using CPU 0.
DDrawCompat20
This enables version 2.0 of the DDrawCompat library. Some games may work better with older versions of the library. This can be set to 0
for off or 1
for on.
DDrawCompat21
This enables version 2.1 of the DDrawCompat library. Some games may work better with older versions of the library. This can be set to 0
for off or 1
for on.
DDrawCompat31
This enables version 3.1 of the DDrawCompat library. This can be set to 0
for off or 1
for on.
DDrawCompatDisableGDIHook
This disables GDI hooking of the DDrawCompat library. Some games have issues if the GDI is hooked. This requires one of the DDrawCompat
options to be enabled. This can be set to 0
for off or 1
for on.
DDrawCompatNoProcAffinity
This disables the single process affinity feature of the DDrawCompat library. Some games don't need to be set to single process affinity or have issues on modern computers when enabling single process affinity. This requires one of the DDrawCompat
options to be enabled. This can be set to 0
for off or 1
for on.
ConvertToDirectDraw7
This converts all IDirectDraw functions to their equivalent IDirectDraw 7 functions. This requires the EnableDdrawWrapper
option to be enabled. This can be set to 0
for off or 1
for on.
ConvertToDirect3D7
This converts all IDirect3D 1-6 functions to their equivalent IDirect3D 7 functions. This requires the EnableDdrawWrapper
option to be enabled. This can be set to 0
for off or 1
for on.
DdrawOverrideBitMode
This overrides the default bit mode. This requires either Dd7to9
or EnableDdrawWrapper
option to be enabled.
The following values are defined:
Bit Mode | Value |
---|---|
8-bit | 1 or 8 |
16-bit | 2 or 16 |
24-bit | 3 or 24 |
32-bit | 4 or 32 |
DdrawAutoFrameSkip
This function will skip the drawing of frames if to try and make games run smoother when v-sync is enabled. Sometimes v-sync will slow down the game because the game's primary surface is being updated more than once per frame. This option will try and detect multiple updates with-in the same frame and only display the last one. This requires the Dd7to9
option to be enabled. This can be set to 0
for off or 1
for on.
DdrawEmulateSurface
By default Dd7to9 will only emulate surfaces that are not supported by Direct3D9, such as 24-bit surfaces or the Device Context to a surface with an alpha channel. However, if you enable this option than all supported surfaces will be emulated. This helps in a few cases where games use Device Context and the text is messed up or if the game tries to use surface memory after the surface is released. This requires the Dd7to9
option to be enabled. This can be set to 0
for off or 1
for on.
DdrawFixByteAlignment
Fixes display issues in some ddraw games (like Tropico) that ignore the pitch sent by ddraw. This requires either the Dd7to9
option to be enabled. This can be set to 0
for off or 1
for on.
DdrawRemoveScanlines
Removes the blank lines (scanlines) seen in some older games during the in game videos. This requires the Dd7to9
option to be enabled. This can be set to 0
for off or 1
for on.
Sample games that use scanlines:
- Command & Conquer Gold
- Command & Conquer Red Alert
- Deathtrap Dungeon
- Diablo Hellfire
- Diablo Spawn
- Pacific General
- Sanitarium
- Total Annihilation
- War Wind II
- WarGames
- Warlords 3
DdrawRemoveInterlacing
Attempts to removes interlacing in some older games during the in game videos. This works by detecting single lines being drawn to the screen and drawing all of them before presenting to the screen. Enabling this will cause one frame of delay to the game. This requires the Dd7to9
option to be enabled. This can be set to 0
for off or 1
for on.
Sample games that use interlacing:
- WarGames
DdrawReadFromGDI
This option will cause dxwrapper to read from GDI before each Blt(), Lock() or GetDC() call. In most cases DdrawWriteToGDI
will need to be used with this option. This is a hack specifically for certain windowed games that use a mixture of GDI and DirectDraw on the same screen, such as Deadlock 2. This requires the Dd7to9
option to be enabled. This can be set to 0
for off or 1
for on.
DdrawWriteToGDI
This option will Blt directly from the DirectX surface to GDI rather than using the normal Present() function. This is a hack specifically for certain windowed games that use a mixture of GDI and DirectDraw on the same screen. This requires the Dd7to9
option to be enabled. This can be set to 0
for off or 1
for on.
DdrawCreateDeviceEarly
In most cases dxwrapper will wait and only create the Direct3D9 device after the game calls SetDisplayMode
. However, this causes issues with some games, such as Commandos. So enabling DdrawCreateDeviceEarly
will cause dxwrapper to create Direct3D9 as soon as the game sends a valid window handle to the game by calling SetCooperativeLevel. This requires the Dd7to9
option to be enabled. This can be set to 0
for off or 1
for on.
DdrawDisableDirect3DCaps
This option prevents the game from detecting the Direct3D functions in dxwrapper and can cause the game to fail over to software rendering. This can be useful as some games, like Moto Racer 2, are not yet supported in 3D mode by dxwrapper. This requires the Dd7to9
option to be enabled. This can be set to 0
for off or 1
for on.
DdrawLimitDisplayModeCount
This will limit the number of display mode options returned to the game. Some older games cannot handle a large number of display mode options. This requires the Dd7to9
option to be enabled. This can be set to 0
for off or 1
for on.
DdrawUseNativeResolution
This will stretch the game to fill the current resolution of the monitor. This requires the Dd7to9
option to be enabled. This can be set to 0
for off or 1
for on.
DdrawOverrideWidth
This will stretch the game to fill the resolution specified. This requires Dd7to9
and DdrawOverrideHeight
options to be enabled. Set DdrawOverrideWidth
to the desired width for the game.
DdrawOverrideHeight
This will stretch the game to fill the resolution specified. This requires Dd7to9
and DdrawOverrideWidth
options to be enabled. Set DdrawOverrideHeight
to the desired height for the game.
DdrawIntegerScalingClamp
This will force the resolution scaling to use an integer as a multiplier. For instance if the game's resolution is 800x600 and you scale the game to use 1920x1080 it will scale the games resolution to use 1600x600 and then show black borders around the edges. This requires Dd7to9
and scaling options (such as DdrawUseNativeResolution
) to be enabled. This can be set to 0
for off or 1
for on.
DdrawMaintainAspectRatio
This will preserve the game's aspect ratio when using resolution scaling. For instance if the game's resolution is 800x600 and you scale the game to use 1920x1080 it will scale the games resolution to use 1440x1080 and then show black borders on the edges. This requires Dd7to9
and scaling options (such as DdrawUseNativeResolution
) to be enabled. This can be set to 0
for off or 1
for on.
AnisotropicFiltering
This will force the built-in Direct3D9 Anisotropic Filtering to be enabled. Currently it does not modify the actual texture filtering so it will have little effect on the actual game visuals. This requires either the game to use Direct3D9 or for the Dd7to9
or D3d8to9
options to be enabled. 1 = highest your video card can support. 2, 4, 8, or 16 = specific AF settings you want to configure.
AntiAliasing
This will force the built-in Direct3D9 AntiAliasing to be enabled. This requires either the game to use Direct3D9 or for the Dd7to9
or D3d8to9
options to be enabled. 1 = highest your video card can support. 2, 4, 8, or 16 = specific AA settings you want to configure.
Note: this can cause unwanted artifacts or missing surfaces on some games that don't support AntiAliasing.
EnableVSync
This will force v-sync to be enabled. This requires either the EnableD3d9Wrapper
, Dd7to9
or D3d8to9
options to be enabled. This can be set to 0
for off or 1
for on.
Note: v-sync can cause some games to run sluggishly or have a slow response time. To resolve this try using EnableWindowMode
or FullscreenWindowMode
instead. Windowed mode and fullscreen windowed mode can also remove screen tearing.
ForceVsyncMode
This will force whatever the EnableVSync
setting is set to. If EnableVSync
is disabled and ForceVsyncMode
is enabled then it will force v-sync to be disabled. This requires either the EnableD3d9Wrapper
, Dd7to9
or D3d8to9
options to be enabled. This can be set to 0
for off or 1
for on.
OverrideRefreshRate
This will set the game refresh rate to the one specified. This requires either the EnableD3d9Wrapper
, Dd7to9
or D3d8to9
options to be enabled. Set OverrideRefreshRate
to the desired refresh rate for the game.
LimitPerFrameFPS
This will measure the total time each frame takes and add a delay to the frame if it is too quick so that it attempts to achieve the specified frame rate. If the frame takes to long than no delay is added. This value can support decimal points, so, for example, if you want the frame rate to be 29.963 FPS then you can set this option to that value. This requires either the EnableD3d9Wrapper
, Dd7to9
or D3d8to9
options to be enabled. This can be set to 0
for off or 1
for on.
EnableWindowMode
This will force the game into windowed. This requires either the EnableD3d9Wrapper
, Dd7to9
or D3d8to9
options to be enabled. This can be set to 0
for off or 1
for on.
Note: this option does not work on all games, specifically some games made using DirectDraw have issues with this mode.
WindowModeBorder
This will enable the windows border when forcing windowed mode. This requires the EnableWindowMode
option to be enabled. This can be set to 0
for off or 1
for on.
SetInitialWindowPosition
This option enables the InitialWindowPositionLeft
and InitialWindowPositionTop
options. When this is enabled dxwrapper will move the game window to the InitialWindowPositionLeft
and InitialWindowPositionTop
once at the start of the game. If both InitialWindowPositionLeft
and InitialWindowPositionTop
are set to 0 then it will move the game to the upper right hand corner of the desktop. This requires either the EnableD3d9Wrapper
, Dd7to9
or D3d8to9
options to be enabled. This can be set to 0
for off or 1
for on.
InitialWindowPositionLeft
The initial left location on the screen where the game should start. This requires the SetInitialWindowPosition
option to be enabled. This can be set to any valid screen location.
InitialWindowPositionTop
The initial top location on the screen where the game should start. This requires the SetInitialWindowPosition
option to be enabled. This can be set to any valid screen location.
FullscreenWindowMode
This will force the game into fullscreen windowed mode. This requires either the EnableD3d9Wrapper
, Dd7to9
or D3d8to9
options to be enabled. This can be set to 0
for off or 1
for on.
ForceExclusiveFullscreen
This will force the game into exclusive fullscreen mode. This requires either the EnableD3d9Wrapper
, Dd7to9
or D3d8to9
options to be enabled. This can be set to 0
for off or 1
for on.
Note: if the game is using a resolution that is not supported by your video card or your monitor then it may cause the game to crash or exit.
ForceMixedVertexProcessing
This will force the game to use mixed mode vertex processing rather than software vertex processing to improve performance. This requires the EnableD3d9Wrapper
option to be enabled. This can be set to 0
for off or 1
for on.
ForceSystemMemVertexCache
This will force vertex buffers to use system memory. This requires the EnableD3d9Wrapper
option to be enabled. This can be set to 0
for off or 1
for on.
ForceDirect3D9On12
This will enable the D3D9on12 functionality of Windows 10/11. It will cause Windows to up-convert the game from Direct3D9 to Direct3D12. This requires either the EnableD3d9Wrapper
, Dd7to9
or D3d8to9
options to be enabled. This can be set to 0
for off or 1
for on.
GraphicsHybridAdapter
This option will attempt to the secondary GPU on a computer with hybrid graphics adapters (two or more GPUs). This can be useful if you have a laptop with multiple video cards and you want the game to use a faster, or more powerful, video card. This requires either the EnableD3d9Wrapper
, Dd7to9
or D3d8to9
options to be enabled. This can be set to 0
for off or the graphics adapter ID (usually 1
) for on.
FullScreen
This will monitor the main window of the program and set that window to full screen. It does this by updating the screen resolution to match the window resolution and then placing the window coordinates at the upper left and lower right to ensure that the window fills the screen. This can be set to '0' for off or '1' for on.
ForceWindowResize
This is intended to be use alongside the FullScreen
setting. It will allow DxWrapper to change the resolution of Windows or stretch the game window to match the resolution size. This can be set to '0' for off or '1' for on.
WaitForWindowChanges
This is intended to be use alongside the FullScreen
setting. In most cases DxWrapper will set the window to full screen immediately after detecting a window that needs to be set to full screen. However in some cases the application has not yet finished setting the window. In this case you can have DxWrapper wait until it detects that the window has finished before setting the window to FullScreen
. This can be set to '0' for off or '1' for on.
FilterNonActiveInput
This attempts to prevent the game from receiving input when the game window is not in focus. This requires either the game to use DirectInput8 or for the Dinputto8
option to be enabled. This can be set to '0' for off or '1' for on.
Most of the settings in this section are taken from DirectSound Control. I am no longer using the code from DirectSound Control, as I have completely re-written all the code, however, I kept the options the same.
Num2DBuffers
Maximum number of hardware mixed 2d buffers reported to the application. MUST be lower or equal than the hardware default.
Num3DBuffers
Maximum number of hardware mixed 3d buffers. MUST be lower or equal than the hardware default.
ForceCertification
Enables/Disables WHQL certification report
ForceExclusiveMode
Enables/Disables forcing of exclusive cooperation level.
ForceSoftwareMixing
Enables/Disables forcing creation of software mixed buffers
ForceHardwareMixing
Enables/Disables forcing creation of hardware mixed buffers (caution!!). Set this to 1 if you have problems with games like DEUS EX: Invisible War! Before you set this to 1 try to enable ForceVoiceManagement
to see if this works. Enabling ForceVoiceManagement
is much safer than this option.
ForceHQ3DSoftMixing
Enables/Disables forcing of usage of the high quality HRTF algorithm (software mixing only). Set this to 1
to get better 3D sound quality for applications that uses software mixing.
ForceNonStaticBuffers
Enables/Disables forcing of using non-static buffers. Static buffers are obsolete with PCI-cards. This should always be enabled when ForceVoiceManagement
is set to 1
.
ForceVoiceManagement
Enables/Disables forcing of voice management. This can't be used together with ForceSoftwareMixing
and ForceHardwareMixing
. This is the first option you should change to 1 if you have problems with a game. This options enables the DirectX build-in voice managements and overrides the developers placement of the sound buffers. This options will enable 3D positional audio for many games that have this feature disabled for whatever reason. You should always set ForceNonStaticBuffers
to 1.
ForcePrimaryBufferFormat
Enables/Disables forcing of a specified primary buffer format. Set this to 1 to get better sound quality for applications that don't set this parameters and sound cards that defaults to 8 Bit primary buffer. Note: If this option is set to 1
you can specify the output format with the following settings.
PrimaryBufferBits
Number of bits per sample. 16 is default, some sound cards are capable of using 24 or 32 bits per sample.
PrimaryBufferSamples
Number of samples per second. 44100 is default, some sound cards are capable of using 48000, 96000 or 192000 samples per second.
PrimaryBufferChannels
Number of channels. 2
(=Stereo) is default.
AudioClipDetection
Detects when the audio is stopped prematurely and fades out to avoid pops in the sound. This can be set to '0' for off or '1' for on.
Below is a sample configuration for DxWrapper:
;; Config file for DirectX DLL Wrapper
;;
;; For details, see: https://github.com/elishacloud/dxwrapper/wiki/Configuration
;;
[General]
RealDllPath = AUTO
WrapperMode = AUTO
LoadCustomDllPath = sample.dll
ExcludeProcess =
IncludeProcess =
RunProcess = powershell.exe "Mount-DiskImage 'sample.iso'"
WaitForProcess = 1
DisableLogging = 0
[Plugins]
LoadPlugins = 0
LoadFromScriptsOnly = 0
[Compatibility]
Dd7to9 = 1
D3d8to9 = 0
DDrawCompat = 0
Dinputto8 = 0
DisableGameUX = 0
EnableDdrawWrapper = 0
EnableD3d9Wrapper = 0
EnableDinput8Wrapper = 0
EnableDsoundWrapper = 0
HandleExceptions = 0
SingleProcAffinity = 0
[DDrawCompat]
DDrawCompat20 = 0
DDrawCompat21 = 0
DDrawCompat31 = 0
DDrawCompatDisableGDIHook = 0
DDrawCompatNoProcAffinity = 0
[ddraw]
ConvertToDirectDraw7 = 0
ConvertToDirect3D7 = 0
DdrawOverrideBitMode = 0
[Dd7to9]
DdrawAutoFrameSkip = 0
DdrawEmulateSurface = 0
DdrawFixByteAlignment = 0
DdrawRemoveScanlines = 0
DdrawRemoveInterlacing = 0
DdrawReadFromGDI = 0
DdrawWriteToGDI = 0
DdrawCreateDeviceEarly = 0
DdrawDisableDirect3DCaps = 0
DdrawLimitDisplayModeCount = 0
DdrawUseNativeResolution = 0
DdrawOverrideWidth = 0
DdrawOverrideHeight = 0
DdrawIntegerScalingClamp = 0
DdrawMaintainAspectRatio = 0
[d3d9]
AnisotropicFiltering = 0
AntiAliasing = 0
EnableVSync = 0
ForceVsyncMode = 0
OverrideRefreshRate = 0
LimitPerFrameFPS = 0
EnableWindowMode = 0
WindowModeBorder = 0
SetInitialWindowPosition = 0
InitialWindowPositionLeft = 0
InitialWindowPositionTop = 0
FullscreenWindowMode = 0
ForceExclusiveFullscreen = 0
ForceMixedVertexProcessing = 0
ForceSystemMemVertexCache = 0
ForceDirect3D9On12 = 0
GraphicsHybridAdapter = 0
[FullScreen]
FullScreen = 0
ForceWindowResize = 0
WaitForWindowChanges = 0
[dinput8]
FilterNonActiveInput = 0
[dsound]
Num2DBuffers = 0
Num3DBuffers = 0
ForceCertification = 0
ForceExclusiveMode = 0
ForceSoftwareMixing = 0
ForceHardwareMixing = 0
ForceHQ3DSoftMixing = 0
ForceNonStaticBuffers = 0
ForceVoiceManagement = 0
ForcePrimaryBufferFormat = 0
PrimaryBufferBits = 16
PrimaryBufferSamples = 44100
PrimaryBufferChannels = 2
AudioClipDetection = 0