https://bugs.winehq.org/show_bug.cgi?id=19569
Anastasius Focht focht@gmx.net changed:
What |Removed |Added ---------------------------------------------------------------------------- Status|NEW |RESOLVED URL|http://www.thehunter.com/pu |https://static.thehunter.co |b/client.php |m/static/download/launcher/ | |theHunterLauncherSetup.exe CC| |focht@gmx.net Resolution|--- |DUPLICATE Summary|Game "The Hunter" not |theHunter (wild animals |loading |hunting game) silently | |exits (game engine expects | |contiguous mipchain | |allocation)
--- Comment #10 from Anastasius Focht focht@gmx.net --- Hello folks,
confirming.
The launcher updates itself after download and then proceeds to download the full game (1.7 GB).
The game executable gets some parameters from the launcher which are dynamic/time-limited (online play).
You need to pre-run the launcher with '+process' debug channel to get valid parameter set:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/theHunter/launcher
$ WINEDEBUG=+process wine ./launcher.exe ... <steal parameters> --- snip ---
Armed with that info you can run the game standalone:
--- snip --- $ pwd /home/focht/.wine/drive_c/Program Files/theHunter/game
$ wine ./thehunter.exe /connect:hunt://gameserver.thehunter.com/<guid>/lang/en_US/access_token/<guid>//refresh_token/<guid>/ /param:41 --- snip ---
The game doesn't like +relay but I managed to extract the necessary info with a few other debug channels:
--- snip --- $ WINEDEBUG=+tid,+seh,+loaddll,+process,+debugstr,+msvcrt,+d3d,+d3d9,+d3d_surface bash game_start_wrapper.sh >>log2.txt 2>&1 ... 0023:trace:d3d9:d3d9_device_TestCooperativeLevel iface 0x1493a8. 0023:trace:msvcrt:pf_printf_a Format is: "%.2f MB free memory (Physical)\n%.2f MB peek memory usage\n%.2f allocated memory\n%.2f MB free memory" 0023:trace:msvcrt:MSVCRT_operator_new (112) returning 0x14dfe960 0023:trace:msvcrt:MSVCRT_memcpy_s (0x14dfe960 111 0x33f680 0) 0023:trace:msvcrt:MSVCRT_memcpy_s (0x14dfe960 111 0x33f698 106) 0023:trace:msvcrt:MSVCRT_operator_delete (0x14dfe960) 0023:trace:msvcrt:pf_printf_a Format is: "diffuseatlas_%i_DIF.dds" 0023:trace:d3d9:d3d9_texture_2d_GetLevelDesc iface 0x7156a2f8, level 0, desc 0x33f6b8. 0023:trace:d3d9:d3d9_texture_2d_LockRect iface 0x7156a2f8, level 0, locked_rect 0x33f6b0, rect (nil), flags 0. 0023:trace:d3d9:d3d9_surface_LockRect iface 0x7156a5c8, locked_rect 0x33f6b0, rect (null), flags 0. 0023:trace:d3d_surface:wined3d_surface_map surface 0x7156a4a8, map_desc 0x33f5f4, rect (null), flags 0. 0023:trace:d3d_surface:surface_prepare_system_memory surface 0x7156a4a8. 0023:trace:d3d_surface:surface_load_location surface 0x7156a4a8, location WINED3D_LOCATION_SYSMEM. 0023:trace:d3d_surface:surface_load_location Location already up to date. 0023:fixme:d3d:wined3d_debug_location Unrecognized location flag(s) 0xfffffc00. 0023:trace:d3d_surface:surface_invalidate_location surface 0x7156a4a8, location WINED3D_LOCATION_DISCARDED | WINED3D_LOCATION_USER_MEMORY | WINED3D_LOCATION_DIB | WINED3D_LOCATION_BUFFER | WINED3D_LOCATION_TEXTURE_RGB | WINED3D_LOCATION_TEXTURE_SRGB | WINED3D_LOCATION_DRAWABLE |. 0023:trace:d3d_surface:wined3d_surface_get_pitch surface 0x7156a4a8. 0023:trace:d3d_surface:wined3d_surface_get_pitch Returning 8192. 0023:trace:d3d_surface:wined3d_surface_map Locked rect (0,0)-(4096,2048). 0023:trace:d3d_surface:wined3d_surface_map Returning memory 0x1b094030, pitch 8192. 0023:trace:seh:raise_exception code=c0000005 flags=0 addr=0xf75703e7 ip=f75703e7 tid=0023 0023:trace:seh:raise_exception info[0]=00000001 0023:trace:seh:raise_exception info[1]=1b495000 0023:trace:seh:raise_exception eax=039a68a0 ebx=f75df000 ecx=001544c8 edx=1b494fd0 esi=038a5800 edi=0000000d 0023:trace:seh:raise_exception ebp=0033f6e4 esp=0033f6c8 cs=0023 ds=002b es=002b fs=0063 gs=006b flags=00010202 0023:trace:seh:call_stack_handlers calling handler at 0x91b1d1 code=c0000005 flags=0 0023:trace:seh:_except_handler4_common exception c0000005 flags=0 at 0xf75703e7 handler=0x91b1d1 0x33f3a4 0x33f22c cookie=96c93ac9 scope table=0xd715e0 cookies=832/0,-188/0 0023:trace:seh:_except_handler4_common level 0 prev -2 filter 0x4026f8 ... 0023:trace:process:create_process_impl app (null) cmdline L"C:\Program Files\theHunter\game\FtpDump.exe C:\Program Files\theHunter\game\hunter_hunter_v20140622_t203404_1_34_35.dmp#Build_version_1633310" --- snip ---
The crash is caught by builtin crash handler which sends the minidump "home".
The cause is bug 34480 (the entire mipchain need to be allocated contiguously).
Applying the workaround for bug 34480 lets the game successfully run.
Tidbit: Almost everything is rendered properly, except some shadow-like things on the ground (looks like a camouflage net that moves with the player).
$ sha1sum theHunterLauncherSetup.exe 187c8ba4f26ec2f54501ba48baaa49d64a92ab7f theHunterLauncherSetup.exe
$ du -sh theHunterLauncherSetup.exe 20M theHunterLauncherSetup.exe
$ wine --version wine-1.7.20-103-g9e4d942
Regards
*** This bug has been marked as a duplicate of bug 34480 ***