http://bugs.winehq.org/show_bug.cgi?id=34122
Bug #: 34122 Summary: Civilization V breaks both expansion packs are installed Product: Wine Version: unspecified Platform: x86 OS/Version: Linux Status: UNCONFIRMED Severity: normal Priority: P2 Component: kernel32 AssignedTo: wine-bugs@winehq.org ReportedBy: mcasadevall@ubuntu.com Classification: Unclassified
Created attachment 45374 --> http://bugs.winehq.org/attachment.cgi?id=45374 Test program that tries to reproduce Civilization V's behavior as seen from the +files log
With the release of Brave New World for Civiliziation V, the game itself fails to properly load either expansion if both are loaded. The issue appears to boil down to the fact that Civ tries to load its datafiles in the order returned by Find{First,Next}File, and inadvertently loads its expansions in the wrong order (G&K must be loaded before Brave New World).
This issue can be semi-worked around by renaming files so that their return order is changed (generally renaming Expansion to Expansion3 seems to do the trick, but its not foolproof).
On Windows, FindFirstFile returns its files in alphabetical order (likely due to Steam installing them in that order), and as such, Civ can load things correctly. I was able to reproduce this bug on Windows by moving everything to a network drive (which returns a different order), and getting similar results.
To show the problem, I wrote a test program which calls FindFirstFile in a matter similiar to Civ5 does; said program is attached along with a trace from +file.
Results from the test program:
Wine git (game does NOT work): mcasadevall@perdition:~/wine-dev/steam/drive_c/Program Files/Steam/SteamApps/common/Sid Meier's Civilization V$ $WINE ./a.exe .\Assets\DLC\DLC_02\SpainInca.Civ5Pkg .\Assets\DLC\Shared\Upgrade1.Civ5Pkg .\Assets\DLC\DLC_05\Korea.Civ5Pkg .\Assets\DLC\Tablet\Tablet.Civ5Pkg .\Assets\DLC\Expansion2\Expansion2.Civ5Pkg .\Assets\DLC\DLC_06\AncientWonders.Civ5Pkg .\Assets\DLC\DLC_04\Denmark.Civ5Pkg .\Assets\DLC\DLC_01\Mongol.Civ5Pkg .\Assets\DLC\DLC_03\Polynesia.Civ5Pkg .\Assets\DLC\Expansion\Expansion1.Civ5Pkg .\Assets\DLC\DLC_Deluxe\Babylon.Civ5Pkg
Windows XP - NTFS filesystem (game works) C:\Program Files\Steam\steamapps\common1\Sid Meier's Civilization V>a .\Assets\DLC\DLC_01\Mongol.Civ5Pkg .\Assets\DLC\DLC_02\SpainInca.Civ5Pkg .\Assets\DLC\DLC_03\Polynesia.Civ5Pkg .\Assets\DLC\DLC_04\Denmark.Civ5Pkg .\Assets\DLC\DLC_05\Korea.Civ5Pkg .\Assets\DLC\DLC_06\AncientWonders.Civ5Pkg .\Assets\DLC\DLC_Deluxe\Babylon.Civ5Pkg .\Assets\DLC\Expansion\Expansion1.Civ5Pkg .\Assets\DLC\Expansion2\Expansion2.Civ5Pkg .\Assets\DLC\Shared\Upgrade1.Civ5Pkg .\Assets\DLC\Tablet\Tablet.Civ5Pkg
Windows XP - network filesystem (game does NOT work) X:\wine-dev\steam\drive_c\Program Files\Steam\SteamApps\common\Sid Meier's Civil ization V>a .\Assets\DLC\Tablet\Tablet.Civ5Pkg .\Assets\DLC\DLC_02\SpainInca.Civ5Pkg .\Assets\DLC\Shared\Upgrade1.Civ5Pkg .\Assets\DLC\DLC_05\Korea.Civ5Pkg .\Assets\DLC\Expansion2\Expansion2.Civ5Pkg .\Assets\DLC\DLC_06\AncientWonders.Civ5Pkg .\Assets\DLC\DLC_04\Denmark.Civ5Pkg .\Assets\DLC\DLC_01\Mongol.Civ5Pkg .\Assets\DLC\DLC_03\Polynesia.Civ5Pkg .\Assets\DLC\Expansion\Expansion1.Civ5Pkg .\Assets\DLC\DLC_Deluxe\Babylon.Civ5Pkg
I believe the underlying cause of this bug may also be the root of bug #31113, but until I know for sure, they should be considered seperate issues.