Am Donnerstag, 13. März 2008 01:02:47 schrieb Artur Szymiec:
Stefan Dösinger pisze:
Hi, Note that we do not accept workaround patches into Wine, because
otherwise the
whole software would become a huge workaround collection.
A potential proper fix for this is to generate an UUID, store it in a
constant
global variable and memcpy it into the deviceidentifier
Dear Stefan,
ok then. At d3d startup I'll read back UUID from wine registry (or create one if none) -> copy into globar var and then memcopy.
I don't think you need to store them in the registry. Just hardcode it in the code, e.g. like ddraw does it:
const GUID IID_D3DDEVICE_WineD3D = { 0xaef72d43, 0xb09a, 0x4b7b, { 0xb7,0x98,0xc6,0x8a,0x77,0x2d,0x72,0x2a } };
which matches an uuidgen output of 0xaef72d43-0xb09a-0x4b7b-b798-6c8a773d722a (Don't use this specific UUID for d3d9, generate a new one using uuidgen(part of the ext2 filesystem tools)
Chatter has it that on Windows there is some schematic in DirectX GUIDs, additionally to the general way UIDs work. But since that's not documented anywhere I could find I don't think any game depends on that. In the worst case we'll have to adopt the UIDs ATI and Nvidia are using on Windows, if any game compares them.