http://bugs.winehq.org/show_bug.cgi?id=20026
Night Nord NightNord@gmail.com changed:
What |Removed |Added ---------------------------------------------------------------------------- CC| |NightNord@gmail.com
--- Comment #6 from Night Nord NightNord@gmail.com 2012-09-06 14:03:47 CDT --- Still an issue on wine-1.5.9
Log with relay could not be retrieved, as WINEDEBUG=relay crashes the game on point much earlier.
It definitly works under Windows XP virtual machine, but do not work under wine under any configuration.
There is a demo: [1] (or just google Metal Fatigue demo, it's available on plenty of sites) To launch it you'll need to install nGlide wrapper [2], no additional configuration needed.
Demo also suffers from this issue, as well.
[1] http://www.fileplanet.com/38396/30000/fileinfo/Metal-Fatigue-Demo [2] http://www.zeus-software.com/downloads/nglide
Quick testcase: 1. install nGlide 2. Install MF Demo (in C:\MFDemo, for example) 3. Enter C:\MFDemo 4. rm -Rf Save 5. Launch MFatigue.exe 6. Press "Load Game" (it works, no saved games) 7. Press new compaing, select first, press start. 8. Press "Save Game" (it works, enter some name) 9. Press "Load Game" or "Save Game" (it crashes)
Log (+all,-relay,-dsound) shows last lines prior to crash is wildcarding "C:\MF\TBD\..\SAVE\*", it runs NtQueryDirectoryFile and outputs all contents. If there is no Save folder, than query isn't run.
So, my best quess is that there is some difference between NtQueryDirectoryFile results on Windows machine and under wine, due to some memory corruption signs - maybe some buffer size difference.
I've tried to run few tests, even made a simple NtQueryDirectoryFile test program to run under MinGW and winegcc, but my knowledge of Windows programming is really poor, so no results here.