Hi
http://lists.transgaming.org/pipermail/winex-devel/2004-May/000259.html
Good news. This is working in wine too, with some modifications. I must set FIXED flag so I really get the desired addresses.
With the attached patch WoW is working for me, clicks on the playfield are now ok!
This patch is not for production, only for playing, delete the MESSAGE lines. This time a printf is no more necessary to hack around ;)
TODO make an AppDefault option ... I'm away now.
chris
WoW really seems to relay on this magic address.
Here are some lines of the output:
wine WoW.exe -opengl nil mmap 0x81000000, 1056833536, 0, 16418, -1 = 0x3cf20000 nil mmap 0x81000000, 528416768, 0, 16418, -1 = 0x81000000 nil mmap 0xa07f0000, 528416768, 0, 16418, -1 = 0x5c710000 nil mmap 0xa07f0000, 264175616, 0, 16418, -1 = 0xa07f0000 nil mmap 0xb03e0000, 264241152, 0, 16418, -1 = 0x6c300000 nil mmap 0xb03e0000, 132120576, 0, 16418, -1 = 0x74100000 ... nil mmap 0xb81e0000, 132120576, 0, 16418, -1 = 0xb81e0000 set mmap 0x10000000, 16384, 3, 50, -1 = 0x10000000 set mmap 0x10004000, 1179648, 0, 50, -1 = 0x10004000 nil mmap 0x7bea0000, 4096, 3, 50, -1 = 0x7bea0000 nil mmap 0x7bc80000, 4096, 3, 50, -1 = 0x7bc80000 trace:loaddll:load_builtin_dll Loaded module L"kernel32.dll" : builtin set mmap 0x10124000, 73728, 3, 50, -1 = 0x10124000 trace:process:init_current_directory starting in L"E:\World of Warcraft\" 0x18 trace:process:find_exe_file looking for L"WoW.exe" trace:process:find_exe_file Trying built-in exe L"E:\World of Warcraft\WoW.exe" trace:process:find_exe_file Trying native exe L"E:\World of Warcraft\WoW.exe" trace:process:__wine_kernel_init starting process name=L"E:\World of Warcraft\WoW.exe" file=0x1c argv[0]="WoW.exe" trace:process:__wine_kernel_init starting Win32 binary L"E:\World of Warcraft\WoW.exe" nil mmap 0x400000, 8855552, 7, 50, -1 = 0x400000 set mmap 0x10136000, 1114112, 3, 50, -1 = 0x10136000 ....
and while the game is running:
nil mmap 0x1a577000, 4096, 0, 50, -1 = 0x1a577000 nil mmap 0x1a576000, 4096, 0, 50, -1 = 0x1a576000 nil mmap 0x1a575000, 0, 0, 50, -1 = 0x1a575000 nil mmap 0x123d5000, 4096, 0, 50, -1 = 0x123d5000 nil mmap 0x123d5000, 0, 0, 50, -1 = 0x123d5000 nil mmap 0x122fb000, 4096, 0, 50, -1 = 0x122fb000 nil mmap 0x122fb000, 0, 0, 50, -1 = 0x122fb000 nil mmap 0x1a5ab000, 4096, 0, 50, -1 = 0x1a5ab000 nil mmap 0x1a5ab000, 0, 0, 50, -1 = 0x1a5ab000 nil mmap 0x1a5d5000, 4096, 0, 50, -1 = 0x1a5d5000 nil mmap 0x1a5d6000, 4096, 0, 50, -1 = 0x1a5d6000 nil mmap 0x1a5d5000, 0, 0, 50, -1 = 0x1a5d5000 nil mmap 0x19fff000, 4096, 0, 50, -1 = 0x19fff000 nil mmap 0x19ffe000, 4096, 0, 50, -1 = 0x19ffe000 nil mmap 0x19ffc000, 4096, 0, 50, -1 = 0x19ffc000 nil mmap 0x19ff9000, 0, 0, 50, -1 = 0x19ff9000 nil mmap 0x1233b000, 4096, 0, 50, -1 = 0x1233b000 nil mmap 0x1233b000, 0, 0, 50, -1 = 0x1233b000 nil mmap 0x12339000, 4096, 0, 50, -1 = 0x12339000 nil mmap 0x1233a000, 4096, 0, 50, -1 = 0x1233a000 nil mmap 0x1233c000, 4096, 0, 50, -1 = 0x1233c000
no more calls with start=NULL