# DirectDraw Surface handling

switch VIDEO to SYSTEM on fail | VIDEOTOSYSTEMMEM | When this option is set and a CreateSurface fails because of video memory shortage, DxWnd backs this up by creating the surface on memory. Oddly enough, some games expect to notice this by themselves and work correctly only when the option is NOT set.
Suppress DX common errors | SUPPRESSDXERRORS | Some games running in windowed mode generate sporadic errors that wouldn't prevent the game to work, but terminate the application. This option makes directx methods return OK condition in such common cases.
Lock color depth | LOCKCOLORDEPTH | Locks the DirectDraw color depth to the current desktop value (used in SetDisplayMode). If a game's color depth can't be corrected in any other way, use this flag. This option is used for the game "Ahlgrens Bilspelet."
Blit from Backbuffer | BLITFROMBACKBUFFER | Some games (the Sims, the only one so far....) read graphic data from the primary surface. When the game runs windowed, the approximation introduced in a scaled window brings cumulative error that appear as a progressive "smearing" effect. In this case, it might be better to read the data from the backbuffer surface that is not scaled, even if in such a way you get other troubles when scrolling (see it by yourself...). The only reasonable alternative: write game code in a better way, in my opinion!
Suppress clipper | SUPPRESSCLIPPING | DxWnd sets clipping on the primary surface. If the game does it as way, there might be interferences. As a matter of fact, setting this flag is the only way to make "Pax Imperia Eminent Domain" working correctly.
Force clipper | FORCECLIPPER | Forces mouse clipping inside the main window client area. This is very useful if a fullscreen game doesn't provide for cursor clipping and there is horizontal or vertical scrolling.
Palette update don't Blit | NOPALETTEUPDATE | Avoid executing a plit operation in case of palette update. This could be used to fix conflicts between GDI and ddraw palette updates.
Don't fix the Pixel Format | NOPIXELFORMAT | Do not try to fix the surface pixel format.
By default set no ALPHACHANNEL | NOALPHACHANNEL | By default, DirectDraw surfaces are created with alpha channel capability. This flag changes the default to create surfaces without alpha channel capability.
Auto Primary Surface Blit | AUTOREFRESH | Some games ignore DirectDraw specifications, updating the memory address returned by the first DirectDrawSurface::Lock operation, avoiding the need to Unlock and Lock on every frame (the original version of Cossacks does this). On modern systems, these games display a black screen even though the image is refreshed on the virtual surfaces. This flag periodically refreshes the display while processing the Windows message queue, forcing the game to blit each updated frame to the screen.
Forced mode |  | Same as Auto Primary Surface Blit, but uses a dedicated thread to manage situations where the game doesn't process the message queue (e.g., during intro movies).
Set texture pixel format | TEXTUREFORMAT | Applies the virtual pixel format to texture surfaces that don't have an explicit DDSD_PIXELFORMAT attribute.
Suppress Release on backbuffer | SUPPRESSRELEASE | This flag ensures that the DirectDraw backbuffer surface - a critical resource - will not be released in emulated modes, even if explicitly requested.
Flip emulation | FLIPEMULATION | Enabled by default, this flag remaps the DirectDraw Flip method which isn't supported on windowed primary surfaces to a corresponding Blt (blit) operation.
Compensate Flip emulation | NOFLIPEMULATION | By default, the Flip operation doesn't take into account the existing background. In several cases (mostly involving mouse cursor movement), this simplified method leaves trails on the screen. This option switches to a slower but more accurate method of Flip emulation that resolves this issue. For an example, see Examples > Robin Hood - The Legend of Sherwood.