http://bugs.winehq.org/show_bug.cgi?id=22356
--- Comment #11 from Wylda wylda@volny.cz 2010-04-27 18:29:34 ---
Roderick, what about my note, that i'm running that in windowed mode? Can that make a difference??
Anyway, i try to find out, how is the flag value changed before and after the patch. So i did:
d3dfmt_convert_surface(This->resource.allocatedMemory, mem, pitch, width, height, outpitch, convert, This);
+ printf("Change1 before: 0x%08x\n", This->Flags); - This->Flags |= SFLAG_CONVERTED; + printf("Change1 after : 0x%08x\n", This->Flags); } else if (This->resource.format_desc->format == WINED3DFMT_P8_UINT && (gl_info->supported[EXT_PALETTED_TEXTURE] || gl_info->supported[ARB_FRAGMENT_PROGRAM])) { d3dfmt_p8_upload_palette(iface, convert); + printf("Change2 before: 0x%08x\n", This->Flags); - This->Flags &= ~SFLAG_CONVERTED; + printf("Change2 after : 0x%08x\n", This->Flags); mem = This->resource.allocatedMemory; } else { + printf("Change3 before: 0x%08x\n", This->Flags); - This->Flags &= ~SFLAG_CONVERTED; + printf("Change3 after : 0x%08x\n", This->Flags); mem = This->resource.allocatedMemory;
Standing in game with visible gun, i.e. before Stefan's patch:
Change2 after : 0x011a0a28 Change2 before: 0x011a0a28 Change2 after : 0x011a0a28 Change2 before: 0x011a0a28 Change2 after : 0x011a0a28 Change2 before: 0x011a0a28 Change2 after : 0x011a0a28 ...
When the gun is missing, i.e. when Stefan's patch is applied: Change2 after : 0x01120a2a Change2 before: 0x01120a2a Change2 after : 0x01120a2a Change2 before: 0x01120a2a Change2 after : 0x01120a2a Change2 before: 0x01120a2a Change2 after : 0x01120a2a ...
Of course, when Stefan's patch is applied than after == before, but i was lazy to change that ;)
Looking into wined3d_private.h to decode those value did not helped me, because i don't know what's going on.