http://bugs.winehq.org/show_bug.cgi?id=5552
--- Comment #20 from Andrew Nguyen arethusa26@gmail.com 2010-06-19 08:17:27 ---
From relay log:
0021:trace:ddraw:IDirectDrawImpl_CreateSurface (0x195360)->(0x2f1e708,0x60021b64,(nil)) 0021:trace:ddraw:IDirectDrawImpl_CreateSurface (0x195360) Requesting surface desc : 0021:trace:ddraw:DDRAW_dump_members - DDSD_CAPS : DDSCAPS_COMPLEX DDSCAPS_FLIP DDSCAPS_PRIMARYSURFACE DDSCAPS_SYSTEMMEMORY DDSCAPS_3DDEVICE 0021:trace:ddraw:DDRAW_dump_members - DDSD_BACKBUFFERCOUNT : 1 0021:trace:ddraw:IDirectDrawImpl_CreateSurface (0x195360): Attempt to create a flipable primary surface without DDSCL_EXCLUSIVE set 0021:trace:seh:raise_exception code=c0000005 flags=0 addr=0x60008baa ip=60008baa tid=0021 ...
CreateSurface is rejecting surface creation with DDSCAPS_FLIP | DDSCAPS_PRIMARYSURFACE texture capability flags set. A quick CreateSurface test I wrote, however, shows that CreateSurface allows texture creation with DDSCAPS_FLIP | DDSCAPS_PRIMARYSURFACE if DDSCAPS_COMPLEX is also set.
If I comment out the particular flag check in IDirectDrawImpl_CreateSurface, the crash seems to be avoided, although the game doesn't seem to render anything, and ddraw fixmes are emitted continuously.