https://bugs.winehq.org/show_bug.cgi?id=14897
--- Comment #15 from Kimmo Myllyvirta kimmo.myllyvirta@gmail.com --- (In reply to Henri Verbeet from comment #14)
Any chance that "3403136" (or 0x33ed80 in hexadecimal...) is a bit less random than it appears at first sight? It looks like it could have been a stack address.
Yes, it is a stack address. The value is always the same before the crash (3403136), and everything else is also the same (like the surface_desc pointer).
Later on when the game is running with the hack, the log is filled with; warn:ddraw:ddraw_surface7_Lock Invalid structure size 2105540064, setting to sizeof(DDSURFACEDESC2). warn:ddraw:ddraw_surface7_Lock Invalid structure size 3401616, setting to sizeof(DDSURFACEDESC2). warn:ddraw:ddraw_surface7_Lock Invalid structure size 0, setting to sizeof(DDSURFACEDESC2). warn:ddraw:ddraw_surface7_Lock Invalid structure size 3401680, setting to sizeof(DDSURFACEDESC2). etc....
rect = null and flags = 0x21, always. I don't have windows box atm, but adding a test case with the same arguments might reveal something (or not).