On Mon, 29 Mar 2004 11:37:46 +0100, James Perry wrote:
I traced it to the line:
glXMakeCurrent(default_display, None, NULL)
in dlls/opengl32/wgl.c. My OpenGL (nVidia) doesn't seem to like the drawable being set to None, although according to the GLX docs, this should be OK. Simply commenting out the line makes the game work fine, but I don't think this is the right fix. Any ideas?
If you could do a non-wine test case for that and see if it's just a buggy driver, that'd be good.
- Settlers III crashes almost straight away, in the
code of the PE-Crypt protection system. This is caused by the processor's direction flag (which controls whether pointers are incremented or decremented by string instructions) getting reset somewhere, probably in Wine code. Can anyone comment on treatment of this flag in Wine? Is it likely to be clobbered in lots of places? Basically, is there any hope of getting this working? I'm not sure where to start with this one.
Good catch! I have not seen any references to this flag in my voyages over the code, so it's possible we are indeed clobbering this flag somewhere - it may even be implicit via gcc. If you can trace the point at which it's being reset we might be able to special case this.
It would also be good if the default registry created by winebuild contained the necessary entries to make this work (I had to add them by hand), but I couldn't find where the initial registry entries come from.
They now come from tools/wine.inf - self registering DLLs should be triggered in this file too on initial setup so no default registry entries are needed.
If this all sounds OK, I can submit it as a patch.
Yes, it does but mark the DLL as self registering in wine.inf first.
- The CD audio in Sonic 3D doesn't play in Wine yet. I
found there were two separate problems causing this. First, it's trying to use CD device 2. No idea where this number comes from, as I have only one CD-ROM in the system, and the game doesn't seem to be specifying device 2 anywhere. Anyone know where mcicda gets the device ID from, save me spending ages looking for it?
Try the "Device" line in the config file - with Wine CVS this might be ignored, can't remember, in which case it could be a regression? DOS devices were recently changed to use symlinks and stuff....
Sorry this post is so long. Finally, I'd just like to say great job everyone! I was impressed that things like DirectX, InstallShield and even SecuROM copy protection are working so well - they're flawless on some of the games I tried. It's really come on since I first tried it back in 2000.
No problem, you sound like you know what you're doing. When in doubt, submit a patch and see what people say. Good to have you on board!
thanks -mike