http://bugs.winehq.org/show_bug.cgi?id=29162
--- Comment #9 from Stefan Dösinger stefan@codeweavers.com 2011-12-06 05:14:01 CST --- I compiled Gens on Windows and SetSurfaceDesc is called and succeeds. I did some more testing:
*) DDSD_CAPS is the reason why the original description cannot be passed to SetSurfaceDesc *) DDSD_HEIGHT is changeable, but must not be set to 0 *) DDSD_WIDTH and DDSD_PITCH are changeable as well, but must not be 0 and must be changed together. The pitch can be bigger than the one ddraw would calculate.
What I forgot to test before I rebooted was if (width | pitch) or height need DDSD_LPSURFACE as well, just like the pixelformat or if it can be set alone.