Warcraft 3 : success and woes

Jean-Baptiste Note jean-baptiste.note at wanadoo.fr
Sat Jul 20 05:52:46 CDT 2002


Hello dear list,

**
All the following has been teste on debian sid,
XF4.0.2-17, latest wine CVS, on a Geforce2 with
2960 nvidia drivers. GL include were the standart
mesa ones. system is pIII-smp, stock 2.4.18 kernel.
**

I've followed with great interest
a thread on wine-devel where Matthieu
Foillard explained his problems trying
to  run warcraft3 under standard wine.
I came across the same problem, so i
though i could post here to explain
what to do.
This is really simple, and following
Jesse Allen's recommendation found on
http://www.winehq.com/hypermail/wine-devel/2002/07/0189.html

The problem appears when you try to
run warcraft 3 in opengl mode, regardless
of whether or not you ran it with d3d
and wineX previously. Warcraft is (following
Jesse Allen's thought) trying to scan video
modes available in OpenGL and gets stuck.

However, after only one successful launch,
the game creates the registry entries needed,
and does not need to go through this detection
cycle again.

Question is, how to create those entries ?
At your option
* try to merge/use my user.reg attached below
NOTE: i've still to look to the cd-key entry
in my brother's win system to add it and be able
to connect to battle.net =)

You'll get into trouble certainly though,
so read on.

* try to do a minimal patch to do one successful
run (warning, not very beautiful, we're not
on wine-devel):
You have to edit the function
WINPOS_MinMaximize in the file
wine/dlls/x11drv/winpos.c
modify it so that it'll

return SWP_NOSIZE | SWP_NOMOVE;

anyway.
compile & install, run.

I dont know how this morbid modification
affects other things.

AFTER the successfull run, you can happily
launch the game: launch it and relaunch it
change resolution at your leasure BUT...

If you do only one small change on window
focusing...
then it seems impossible for the game
window to get the focus again on relaunch.
All goes to the launching window ; i've tried
with various window managers (kwin, pwm,
blackbox) : same problem.

So I thought : some information is written somewhere,
that is not valid any more when i do a focus change.

1) could it be in user.reg/wine itself ?

Deleting ~/.wine/user.reg will solve the problem.

However, i've diffed two user.reg differently
generated ; i'm at a loss to find any significant
difference between the two. (the diff's attached)

Furthermore, storing away user.reg and rm -Rf'ing
~/.wine, and copying back, with some focus
change in between, leads to a non-focused game
window.

2) could it be elsewhere ?
IT IS !
As a matter of fact, building a fresh user.reg,
then replacing it with an old saved one, without
focus changes works flawlessly.

I'm pretty sure something somewhere gets written
with something like a window number in it.
I'm pretty sure that's either in X itself or
in the window manager.

BTW, the results are the same wether i use wine
in managed or unmanaged mode : the WM seems to
be unaware of the created window.

I don't know if I made myself clear ; i'd be glad
to help you (*cough*) fix the bug for me, or
(*cough* *cough*) give me some information/pointer
as to how i could fix it.

Regards,
Jean-Baptiste Note




More information about the wine-devel mailing list