https://bugs.winehq.org/show_bug.cgi?id=27439
--- Comment #77 from kenoi kenoiyan@aesautomation.com.au --- (In reply to Olivier F. R. Dierick from comment #76)
Someone with the game uses it to record the sequence of DirectX 8 operations from the working game on Windows. The apitrace is then shared with devs.
The recorded sequence of DX8 calls can replayed on Wine to check if crashes the same way as the game, without having to own the actual game.
If the crash can be reproduced, then the dev can locate where in the sequence of DX8 operations, and try fixes until the apitrace can be replayed successfully.
The problem is not with Wine or its implementation of DirectX 8 here. Wine is actually doing the right thing terminating the application. The problem is a serious one with the Storm engine that these games use, where the programming of the engine reaches past available memory.
Wine is right to crash the game -- because by all right this is terrible programming, and Wine shouldn't let the software continue with it. This is why this bug has not been fixed in many-many years.
The problem is that neither side will budge: the developer of the games hasn't updated the games in a long-long time (they're no longer active), and the Wine team will not implement something that is less than perfect (understandably).
The only difference between Wine and Windows here is that Windows lets the program continue even when such memory breaches occur. This is why these games crash far less on actual Windows than they do in Wine.