http://bugs.winehq.org/show_bug.cgi?id=58493
--- Comment #7 from Michael Stefaniuc mstefani@winehq.org --- Thanks for the debug output:
0124:warn:dmfile:stream_chunk_get_data Chunk 'prth' (size 154, offset 15ee) doesn't contains the expected data size 160 0124:warn:dmloader:loader_GetObject : failed to (completely) load object (0x80004005) 0124:warn:dmstyle:parse_style_ref Failed to load reference: 0x80004005
And then later on 0124:trace:dmime:segment_GetTrack (0188E5B8, {00000000-0000-0000-0000-000000000000}, 0xffffffff, 0x4, 0135F304) 0124:trace:dmime:segment_GetParam (0188E5B8): not found 0124:trace:seh:dispatch_exception code=c0000005 (EXCEPTION_ACCESS_VIOLATION) flags=0 addr=004E956C
'prth' is DMUS_FOURCC_PART_CHUNK and the handling of that was indeed modified in 8e596f4ddba3d19d6eea645e59d54101f93aa2bc.
Now the question is why the gothic file misses the dwFlags (and two of the pad bytes from DMUS_IO_STYLEPART, but that's expected). The oldest DirectX SDK I have is from August 2007 and that is post DX8 and already includes those fields without a comment that those are a DX8 addition. But by the position after the padding that feels like dwFlags was a later addition.