- DXVK version: 1344
it's not using master, only 743f309253f0512db9f2931b59499d6bd54e30f1
I have and check only gog version pe_header_info_wic.exe.txt
this 32-bit game don't have set LARGE_ADDRESS_AWARE flag by default
so need a special wine-build with laa.patch -> for staging which will allow using the WINE_LARGE_ADDRESS_AWARE=1
or (without building wine) need to change 1 bit in the file-exe header yourself for example or something
just manually make backup of original exe-file, cp wic.exe wic.exe.bak
save python-script (for example as laa-flag-set.py)
make it executable and run once
#!/usr/bin/env python3.8
# See http://en.wikibooks.org/wiki/X86_Disassembly/Windows_Executable_Files#PE_Header
# and https://msdn.microsoft.com/en-us/library/ms680349%28v=vs.85%29.aspx
import struct
IMAGE_FILE_LARGE_ADDRESS_AWARE = 0x0020
PE_HEADER_OFFSET = 60
CHARACTERISTICS_OFFSET = 18
def set_large_address_aware(filename):
f = open(filename, 'rb+')
# Check for MZ Header
if f.read(2) != b'MZ':
print('Not MZ')
return False
# Get PE header location
f.seek(PE_HEADER_OFFSET)
pe_header_loc, = struct.unpack('i', f.read(4))
# Get PE header, check it
f.seek(pe_header_loc)
if f.read(4) != b'PE\0\0':
print('error in PE header')
return False
# Get Characteristics, check if IMAGE_FILE_LARGE_ADDRESS_AWARE bit is set
charac_offset = pe_header_loc + 4 + CHARACTERISTICS_OFFSET
f.seek(charac_offset)
bits, = struct.unpack('h', f.read(2))
if (bits & IMAGE_FILE_LARGE_ADDRESS_AWARE) == IMAGE_FILE_LARGE_ADDRESS_AWARE:
return True
else:
print('large_address_aware is NOT set - will try to set')
f.seek(charac_offset)
bytes = struct.pack('h', (bits | IMAGE_FILE_LARGE_ADDRESS_AWARE))
f.write(bytes)
f.close()
return False
if set_large_address_aware('wic.exe'):
print('large_address_aware is set')
else:
print('large_address_aware was NOT set')
some additional info:
https://github.com/doitsujin/dxvk/issues/1318
https://www.gog.com/forum/world_in_conflict_complete_edition/out_of_memory
also i found that it looks like a wine has some problem with d3d10 for this game
https://appdb.winehq.org/objectManager.php?sClass=version&iId=9237#notes
Regards
Your patch fixed the crash! 🥳
But in that case, why it doesn't crash with WineD3D?
But in that case, why it doesn't crash with WineD3D?
classic case of #1318.
Ok, I've read everything, I understand better.
Should I close this issue or leave it open?
I remove the mentions about the DX10 option, it's an issue with Wine or the game. It's even broken on Windows...
Force large address awareness in wine/proton, there's not much else we can do to fix this right now.
This should be fixed now. Please reopen if it's not.
WINE_LARGE_ADDRESS_AWARE=1`x1 2020-08
The crash occurs at the end of the second mission, before the cutescene when "Berlin-Ouest 11:30" is displayed.
The error message:
Also, I can't activate the option "Use DX10 Rendering". When I restart the game, the option is unchecked. No such issue with WineD3D.Software information
Important: the crash occurs when the settings are set to "high" or "very high". It doesn't crash when it's set to "normal" or below.
System information
Apitrace file(s)
https://mega.nz/file/LjJxSK7b#ABsT2QDv6wtswaCKC5IpZAoYgJTTV9Cp3Myw3CouGaI
Log files
world-in-conflict.log