Game support

Mike Hearn mh at codeweavers.com
Mon Mar 29 07:41:35 CST 2004


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.

> 2. 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.

> 4. 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




More information about the wine-devel mailing list