ValveSoftware / Proton

Compatibility tool for Steam Play based on Wine and additional components
Other
23.94k stars 1.05k forks source link

American Conquest (115210) #4117

Open springwurm opened 4 years ago

springwurm commented 4 years ago

Compatibility Report

System Information

I confirm:

Symptoms

Reproduction

Logs:

Note

qsniyg commented 4 years ago

Can reproduce with the GOG version.

Couple of notes here:

20014.246:00c4:00c8:warn:debugstr:OutputDebugStringA "Couldn't GetProcAddress DirectDrawCreateEx\r\n"

This is not because DirectDrawCreateEx is missing in ddraw.dll, it exists (at least in wine-tkg 5.13). It tries to query it from mdraw.dll, a wrapper (I guess?) library included with the game, where it is indeed missing (at least from rabin2 -i mdraw.dll):

1641430.598:0114:0118:Call KERNEL32.GetProcAddress(10000000,%08Ix DirectDrawCreateEx) ret=005e71e3
1641430.598:0114:0118:Ret  KERNEL32.GetProcAddress() retval=00000000 ret=005e71e3
...
1641430.598:0114:0118:trace:module:LdrUnloadDll (0x10000000)
1641430.598:0114:0118:trace:module:LdrUnloadDll (L"MDRAW.dll") - START

This one is interesting, but harmless:

20015.080:00c4:00c8:err:mmio:MMIO_ParseExtA No extension in szFileName: "Sound\\new\\dr+flute2.wav"

I'm not sure if this is a bug in wine or windows, but in any case, even if the + wasn't there (which is what causes this error to show up), it would still return the same value.

The crash might be a little difficult to pin down, as I wasn't able to find anything that would have caused the initial crash:

Log before the crash ``` 1641455.562:0114:0150:Starting thread proc 0x10002720 (arg=(nil)) 1641455.562:0114:0150:Call KERNEL32.Sleep(0000000e) ret=10002775 1641455.562:0114:0150:Call ntdll.NtDelayExecution(00000000,0ab5fe88) ret=7b067e93 1641455.572:0114:0150:Ret ntdll.NtDelayExecution() retval=00000000 ret=7b067e93 1641455.572:0114:0150:Ret KERNEL32.Sleep() retval=00000000 ret=10002775 1641455.572:0114:0150:trace:ddraw:ddraw_surface1_Lock Format is: "iface %p, rect %s, surface_desc %p, flags %#x, h %p.\n" 1641455.572:0114:0150:trace:ddraw:surface_lock Format is: "surface %p, rect %s, surface_desc %p, surface_desc_size %u, flags %#x, h %p.\n" 1641455.572:0114:0150:Call wined3d.wined3d_mutex_lock() ret=66ced179 1641455.572:0114:0150:Ret wined3d.wined3d_mutex_lock() retval=00000000 ret=66ced179 1641455.572:0114:0150:Call wined3d.wined3d_texture_get_resource(02f46a08) ret=66ced23c 1641455.572:0114:0150:trace:d3d:wined3d_texture_get_resource texture 0x2f46a08. 1641455.572:0114:0150:Ret wined3d.wined3d_texture_get_resource() retval=02f46a08 ret=66ced23c 1641455.572:0114:0150:Call wined3d.wined3d_resource_map(02f46a08,00000000,0ab5fd74,00000000,c0000000) ret=66ced25d 1641455.572:0114:0150:trace:d3d:wined3d_resource_map resource 0x2f46a08, sub_resource_idx 0, map_desc 0xab5fd74, box (null), flags 0xc0000000. 1641455.572:0114:0150:Call KERNEL32.SetEvent(000000f0) ret=b7a54706 1641455.572:0114:0150:Call ntdll.NtSetEvent(000000f0,00000000) ret=7b0686ed 1641455.572:0114:0150:trace:fsync:fsync_set_event 0xf0. 1641455.572:0114:0150:Ret ntdll.NtSetEvent() retval=00000000 ret=7b0686ed 1641455.572:0114:0150:Ret KERNEL32.SetEvent() retval=00000001 ret=b7a54706 1641455.572:0114:0150:Ret wined3d.wined3d_resource_map() retval=00000000 ret=66ced25d 1641455.572:0114:0150:trace:ddraw:surface_lock Format is: "locked surface returning description :\n" 1641455.572:0114:0150:trace:ddraw:DDRAW_dump_members Format is: " - %s : " 1641455.572:0114:0150:trace:ddraw:DDRAW_dump_members Format is: " - %s : " 1641455.572:0114:0150:trace:ddraw:DDRAW_dump_members Format is: " - %s : " 1641455.572:0114:0150:trace:ddraw:DDRAW_dump_members Format is: " - %s : " 1641455.572:0114:0150:trace:ddraw:DDRAW_dump_members Format is: " - %s : " 1641455.572:0114:0150:Call wined3d.wined3d_mutex_unlock() ret=66ced305 1641455.572:0114:0150:Ret wined3d.wined3d_mutex_unlock() retval=00000000 ret=66ced305 1641455.572:0114:0150:trace:seh:raise_exception code=c0000005 flags=0 addr=0x10001470 ip=10001470 tid=0150 ```
josef256 commented 1 year ago

still don't work on recent proton version (7.0-6)