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
-----BEGIN PGP SIGNED MESSAGE----- Hash: SHA1
Le Mercredi 5 Février 2003 07:46, Christian Costa a écrit :
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.
yakk ;(
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.
this game have a very special dx8 init, i really don't understand how they have done their code :(
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. :-)
you are right, maybe forcing window size when war3 calls IDirect3DDevice8::SetViewport ...
helppppppppp
see attached log
Raphael
Christian
thx Raphael