[Wine-d3d] [dx8]: warcraft 3

Christian Costa titan.costa at wanadoo.fr
Wed Feb 5 00:46:43 CST 2003


Raphaël Junqueira wrote:

>-----BEGIN PGP SIGNED MESSAGE-----
>Hash: SHA1
>
>Le Samedi 25 Janvier 2003 15:07, Raphaël Junqueira a écrit :
>
>>Hi,
>>
>> i'm trying to get warcraft3 displaying something and looking at log i
>>didn't understand why i can see anything (all rendering traces are ok).
>>But when i used:
>>wine --debugmsg +d3d,+opengl,+x11drv
>>/mnt/win_c2/Jeux/Warcraft3/War3Demo.exe 2> /usr/src/wine/logs/war3.log
>>
>>i have found X11DRV interesting traces:
>><>
>>trace:x11drv:X11DRV_CreateWindow win 0x10021 window 0,0,0,0 client 0,0,0,0
>>whole 0,0,0,0 X client 0,0,0,0 xwin 2600001/2600002
>>trace:x11drv:X11DRV_ShowWindow hwnd=0x10021, cmd=1
>>trace:x11drv:X11DRV_SetWindowPos hwnd 0x10021, swp (0,0)-(0,0) flags
>>00000063 trace:x11drv:X11DRV_SetWindowPos 	current (0,0)-(0,0), style
>>86080000 warn:x11drv:SWP_DoOwnedPopups (0x10021) hInsertAfter = (nil)
>>trace:x11drv:SWP_DoNCCalcSize (0,0)-(0,0)
>>trace:x11drv:X11DRV_sync_whole_window_position setting win 2600001 pos
>>0,0,0x0 after 400c7db4 changes=40
>>trace:x11drv:set_visible_style hwnd 0x10021 (2600001) set 1 visible 0 empty
>>1 trace:x11drv:X11DRV_SetWindowPos hwnd 0x10021, swp (0,0)-(0,0) flags
>>00000013 trace:x11drv:X11DRV_SetWindowPos 	current (0,0)-(0,0), style
>>96080000 warn:x11drv:SWP_DoOwnedPopups (0x10021) hInsertAfter = (nil)
>>trace:x11drv:X11DRV_sync_whole_window_position setting win 2600001 pos
>>0,0,0x0 after 400c7db4 changes=40
>>trace:x11drv:X11DRV_SetWindowPos 	status flags = 1803
>>trace:x11drv:X11DRV_SetWindowPos 	status flags = 1863
>><>
>>
>>it seems that the created window have a (0,0) size !!!!
>>
>
>i'm alone here ?????
>
Don't cry... You're not alone! ;-)

>
>i don't understand why this stupid game create an empty window 
>
Turning x11drv and win debug channels gives the following log.

trace:win:WIN_CreateWindowEx "Warcraft III" "Warcraft III" ex=00040008 style=86080000 -2147483648,-2147483648 -2147483648x-2147483648 parent=(nil) menu=(nil) inst=0x400000 params=0x44f500c0
trace:win:dump_window_styles style: WS_POPUP WS_CLIPSIBLINGS WS_CLIPCHILDREN WS_SYSMENU
trace:win:dump_window_styles exstyle: WS_EX_TOPMOST WS_EX_APPWINDOW
trace:win:WIN_CreateWindowEx winproc type is 2 (WIN_PROC_32A)
trace:win:WIN_SetRectangles win 0x10021 window (0,0)-(0,0) client (0,0)-(0,0)
trace:x11drv:X11DRV_CreateWindow hwnd 0x10021 cs 0,0 0x0
trace:x11drv:X11DRV_SetWindowText text_cp = 0
trace:win:WIN_SetRectangles win 0x10021 window (0,0)-(0,0) client (0,0)-(0,0)
trace:x11drv:X11DRV_CreateWindow win 0x10021 window 0,0,0,0 client 0,0,0,0 whole 0,0,0,0 X client 0,0,0,0 xwin 2c00001/2c00002
trace:win:WIN_SetWindowLong 0x10021 -21 44f500c0 2
trace:win:WIN_CreateWindowEx created window 0x10021
trace:x11drv:X11DRV_ShowWindow hwnd=0x10021, cmd=1
trace:win:SetWindowPos hwnd 0x10021, after (nil), 0,0 (0x0), flags 00000063
trace:win:dump_winpos_flags flags: SWP_NOSIZE SWP_NOMOVE SWP_FRAMECHANGED SWP_SHOWWINDOW
trace:x11drv:X11DRV_SetWindowPos hwnd 0x10021, swp (0,0)-(0,0) flags 00000063
trace:x11drv:X11DRV_SetWindowPos 	current (0,0)-(0,0), style 86080000
warn:x11drv:SWP_DoOwnedPopups (0x10021) hInsertAfter = (nil)


The log shows that the game does not create a windows with a (0,0) but a 
pop-up where xpos = ypos = width = height = CW_USEDEFAULT (0x8000000 or 
in decimal -2147483648).
For pop-up and childs windows if witdh = CW_USEDEFAULT, width and height 
are set to 0.
For overlapped windows, the width and height are set to make the 
lower-right corner of the windows corresponds to the lower_right corner 
of the screen.
So the question is why does the game create a pop-up instead of a 
standard windows.

That would be cool if we can solve this issue. Forcing the screen size 
make the game demo displays something like menus and so on.
It's encouraging. :-)

>
>
>helppppppppp
>
>>see attached log
>>
>>Raphael
>>
Christian




More information about the wine-devel mailing list