DirectDraw Surface handling

Parent Previous Next

Auto primary surface refresh

AUTOREFRESH

Some badly programmed games (namely the "Cossaks" series) don't follow the specification to blit changes on screen, they just get the primary surface memory address and keep writing there. The option forces a periodic blitting of the primary surface on screen even if the game doesn't request it. You want a second example? It has not been easy to find, but "Crush! Deluxe" suffers the same problem.

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.

Make Backbuf attachable

BACKBUFATTACH

Alters the size specification of the created backbuffer so that it copes with the actual primary surface, so that it may be attachable to a ZBUFFER surface. It makes “Dave Mirra Freestyle BMX” playable.

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

???


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

???

Auto Primary Surface Blit

???

???

Forced mode

???

???

Set texture pixel format

???

???

Suppress Release on backbuffer

???

???

Flip emulation

???

???

Compensate Flip emulation

NOFLIPEMULATION

???

Created with the Personal Edition of HelpNDoc: Free EPub producer