Hi again,

I played around a bit with a simple test case, and it seems that my
first attempt at a patch was faulty. From what I can see and what the
test case says, windows does not allow the creation of these surfaces
at all. I've remade the patch to mimic the behaviour of windows, and
also added a test case. Even with this, delta force still seems to
work fine.

Does this look ok?

David

On 9/2/07, Stefan Dösinger <[EMAIL PROTECTED]> wrote:
> Am Sonntag, 2. September 2007 14:16 schrieb David Hedberg:
> > (Resending mail after subscribing to list)
> >
> > Hi,
> >
> > This patch fixes a problem visible in Delta Force Land Warrior and
> > Delta Force Task Force Dagger, where extra_surfaces would sometimes
> > get a value of -1 and later cause a "near infinite" loop in
> > CreateAdditionalSurfaces.
> I think you should test that in the desc2.dwFlags & DDSD_MIPMAPCOUNT case
> above, where currently the "Mipmap count is given, nothing to do" comment is.
> It would be good if you extended the test case in dlls/ddraw/tests/dsurface.c
> to test the case where the mipmapcount flag is set, but the mipmap count is
> 0. It could either create a one-level surface (like your patch currently
> does), or ignore the mipmapcount flag, and create mipmaps until either width
> and height are 0.
>
>
>

Attachment: 0001-ddraw-fixes-situation-where-DDSD_MIPMAPCOUNT-is-set.patch
Description: Binary data

Attachment: 0002-ddraw-tests-check-case-where-DDSD_MIPMAPCOUNT-is-se.patch
Description: Binary data



Reply via email to