Tool for removing DLC/deluxe extra data from saves

Gyathaar

Warlock
GOTM Staff
Retired Moderator
Joined
Nov 19, 2003
Messages
3,754
Location
Trondheim, Norway
This tool will strip all info about Babylon and possible future DLC civs (cant guarantee that will work untill there is one ofcourse) from a save so that it can be loaded by a standard civ5 install.

The save assumes that the DLC civs are not in the game.. that is not played by the human player or any of the AIs.. if they are then I have no idea what will happen.

The script is a perl script.. and assumes that you have perl installed on your PC.. you can find perl for windows here:
http://www.activestate.com/activeperl/downloads

if you are running windows, you can just doubleclick the .pl file inside the rar airchive.. I think .pl files are automatically accusiated with perl after activeperl is installed.
It will then pop up a file open prompt in the standard single player save game catalog.. if for some reason you keep your saves somewhere else you will have to browse (or edit the perl script)

If you run on another OS, you will have to spesify the filename of the savefile you want to convert on the command prompt... I assume those running linux or similar knows how this works :)

The program will place the converted file in the same folder as the original save game, and add _converted to the savefile name.. it will not overwrite the original save.

The program will also strip away extra sets of FINAL_RELEASE trings from the save (can eat up many MB of space on a save that has been loaded or saved many times)
 

Attachments

  • convert_deluxe_standard.rar
    1.5 KB · Views: 527
I dont think it is necessary to use this tool any more after 1.0.0.62 (except to convert saves that was played under 1.0.0.20)

can anyone confirm?
 
I think so. In our succession game I was able to open a file from a member with the deluxe version fine. Wonder if the Mongols break it :crazyeye:
 
I dont think it is necessary to use this tool any more after 1.0.0.62 (except to convert saves that was played under 1.0.0.20)

can anyone confirm?

Civ V 1.0.0.621 does not appear to fix this issue. I'm trying to load a Game (located here: http://forums.civfanatics.com/showpost.php?p=9751008&postcount=380) that includes DLC Civ Babylon. I have the standard DVD version updated to 1.0.0.621 and get the error noted in the following post: http://forums.civfanatics.com/showpost.php?p=9853592&postcount=511

EDIT: The game may have been played using version 1.0.0.20, so it would still need the script, right?

Sun Tzu Wu
 
Strawberry Perl is the open source perl implementation that perl creator Larry Wall uses when he works on MS Windows systems.

Error with Stawberry Perl:

$ /cygdrive/c/strawberry/perl/bin/perl convert_deluxe_standard.pl
Can't locate Tkx.pm in @INC (@INC contains: c:/strawberry/perl/site/lib c:/strawberry/perl/vendor/lib c:/strawberry/perl/lib .) at convert_deluxe_standard.pl line 192.
BEGIN failed--compilation aborted at convert_deluxe_standard.pl line 197.

$

Error with Cygwin Perl:

$ perl convert_deluxe_standard.pl
Cant open file data file

The error with Cygwin is probably because it isn't able to parse the MS Windows style filesystem paths. It may work better with UNIX style filesystem paths.

The error with Cygwin Perl is probably beyond the scope of this thread, but I think that Strawberry Perl should work fine.

Caveat: I rarely use Perl and just installed Strawberry Perl to run this script. I have a strong preference for using free software/open source software to anything closed or proprietary like Active Perl. I probably just need to load some modules from CPAN, but I've never done that on MS Windows. UNIX and Linux is so much easier.

Sun Tzu Wu
 
Strawberry Perl is the open source perl implementation that perl creator Larry Wall uses when he works on MS Windows systems.

Error with Stawberry Perl:

$ /cygdrive/c/strawberry/perl/bin/perl convert_deluxe_standard.pl
Can't locate Tkx.pm in @INC (@INC contains: c:/strawberry/perl/site/lib c:/strawberry/perl/vendor/lib c:/strawberry/perl/lib .) at convert_deluxe_standard.pl line 192.
BEGIN failed--compilation aborted at convert_deluxe_standard.pl line 197.

never tried with strawberry perl.. guess it doesnt come with the same libarry for opening windows windows... if you edit away the windows specific lines it should work.. but you will have to specify the filename on command line (like for cygwin)

Error with Cygwin Perl:

$ perl convert_deluxe_standard.pl
Cant open file data file

The error with Cygwin is probably because it isn't able to parse the MS Windows style filesystem paths. It may work better with UNIX style filesystem paths.

The error with Cygwin Perl is probably beyond the scope of this thread, but I think that Strawberry Perl should work fine.

Caveat: I rarely use Perl and just installed Strawberry Perl to run this script. I have a strong preference for using free software/open source software to anything closed or proprietary like Active Perl. I probably just need to load some modules from CPAN, but I've never done that on MS Windows. UNIX and Linux is so much easier.

Sun Tzu Wu

if you run it like this you just need to specify the path and filename of the savegame on the command line.. like:

$ perl convert_deluxe_standard.pl /savedir/savegame.Civ5Save
 
Civ V 1.0.0.621 does not appear to fix this issue. I'm trying to load a Game (located here: http://forums.civfanatics.com/showpost.php?p=9751008&postcount=380) that includes DLC Civ Babylon. I have the standard DVD version updated to 1.0.0.621 and get the error noted in the following post: http://forums.civfanatics.com/showpost.php?p=9853592&postcount=511

EDIT: The game may have been played using version 1.0.0.20, so it would still need the script, right?

Sun Tzu Wu

If the save was played in 1.0.0.20, then yes..

also.. if the save was played in 1.0.0.20, then opened with a deluxe version 10.0.0.621 then the save would be more incompatible.. would need to strip some extra data near beginning of save in addition to running script
 
never tried with strawberry perl.. guess it doesnt come with the same libarry for opening windows windows... if you edit away the windows specific lines it should work.. but you will have to specify the filename on command line (like for cygwin)

I commented out the Tkx.pm Perl Module requirement line in the script source code and Strawberry could execute the convert script without installing the Tkx.pm file.

if you run it like this you just need to specify the path and filename of the savegame on the command line.. like:

$ perl convert_deluxe_standard.pl /savedir/savegame.Civ5Save

Thanks for this tip! That would be the ideal way to run it in my opinion anyway.

I was able to convert the start file, but Civilization V dies when trying to load it. See attached picture of the Error requester.

Conversion of the Win Save file failed with an out of memory error. I even rebooted and ran only a "DOS" shell to run the script on the Win Save, but got the same error. The Win Save file is nearly 7MB in size. My Vista system has 3GB RAM and 3369MB in its paging file. I could try increasing the size of the paging file, but even if I'm able to make it big enough to convert OK, the resulting file is unlikely to load any better than the Start file does.

Neuro said his Game definitively included Babylon. The 1.0.0.62 or 1.0.0.621 patch may have auto-updated in the middle of his Game, but that wouldn't explain why his Start Save is unreadable from a Standard Civ 5 executable, right?

Does one have to have the Deluxe version to read these Deluxe version Save file? It seems rather irresponsible for Take 2 to have two incompatible file formats for the two versions of Civilization 5.

Sun Tzu Wu
.
 
Does one have to have the Deluxe version to read these Deluxe version Save file? It seems rather irresponsible for Take 2 to have two incompatible file formats for the two versions of Civilization 5.

Sun Tzu Wu
.
Yes, you do.. if the save contains babylon you need babylon to be able to open it
 
Yes, you do.. if the save contains babylon you need babylon to be able to open it

Thanks for explaining what the Civ V developers should have explained rather than crashing the load process:

The developers of Civilization V could have made this a bit more reasonable by popping up a requester saying that the DLC Babylon Civ is required to load the Civ5Save file rather than crashing the Civilization V Game in an incomprehensible manner. Furthermore, the requester should explain how to get the DLC Babylon Civ. Supposedly, the owner of a Standard Civ V Game can get the DLC Babylon Civ for $4.95, but its still not clear how, but I'm afraid it has something to do with this Steam system I was forced to install on my system to <recursively> install Civilization V. The Civilization V installation is evidently incomplete and will never be complete, because there may be additional DLC Civs to install beyond Babylon. When will the recursion end?

Sun Tzu Wu
 
There appears to still be a need for a tool such as this. The save attached to this Bug Report is (according to the topic) a 1.0.0.621 save from a Deluxe install where Babylon is not in the game but the Mongols are. I have a standard copy of 1.0.0.621 (including the free Mongols) but when I try to open the save, the Load button is greyed-out with the error message "Required DLC is not available."

Intuitively, I would think that I should be able to open this save since Babylon was never in this game, but the presence of the Mongols appears to be complicating the issue. Note that I still cannot load due to the same DLC error even after running it through the converter, which doesn't entirely surprise me. Any advice on how to open such a save?
 
Is actual civ in the game or not doesn't matter. If game is started with specific DLC active it will require that DLC.

The only thing that 1.0.0.621 fixed (over 1.0.0.20) was that save that started with one set of conditions (for example game without any DLC), would not require additional DLCs if resaved on computer that has more DLCs active. Which is good for GOTMs or succession games.
 
Is actual civ in the game or not doesn't matter. If game is started with specific DLC active it will require that DLC.

A Game started on a Civ V application with DLC module A that uses nothing in DLC module A is saved; such a saved game can't be loaded on any other Civ V application without DLC module A.

This is contrary to any sensible Software Engineering design principles. Making a saved game depend on a DLC module it doesn't use is absolute and utter nonsense.

Does the attempted load crash the Civ V application? It did when I attempted loading a converted Game containing the DLC Civ Babylon on a Standard Edition Civ V lacking this DLC Civ.

Given that the designers were trying harder to make the multi-user features better, this is a major show stopping bug. It is critical that the save and load mechanism works flawlessly with all sets of DLC in both source and destination machines.

Sun Tzu Wu
 
Top Bottom