Monday, September 25, 2023

Create multiple GTA IV instances for downgrade or modding

This article is for modding enthusiasts who want to save disk space while maintaining several copies of GTA IV. It can also be useful to create a single separate copy of game folder for downgrade.

Reducing space taken by GTA IV copy folder 1

General barebone_iv.bat usage. 1

Example usage scenarios. 1

How to make copy for 1.0.0.0 rollback. 1

How to make copy for 1.0.4.0 downgrade with old radio downgrader 1

How to make copy for classic 1.0.7.0 downgrade with official Rockstar Patch 7. 1

How to make copy for simplified 1.0.7.0 express downgrade with ZolikaPatch. 1

Overall space savings. 1

Reducing space taken by GTA IV copy folder

Let’s consider testing a mod on several game versions: retail DVD v1.0.0.0, v1.0.4.0, v1.0.7.0 and latest 2020 Complete Edition version of the game on Steam.

Traditional approach with separate full copies of game folder for downgrade is not efficient even after removing DLCs on game versions that don’t support them:

GTAIV_CE – master copy, game with DLCs

24 Gb

GTAIV_1000 – copy without DLCs

14 Gb

GTAIV_1040 – copy without DLCs

14 Gb

GTAIV_1070 – copy with DLCs

24 Gb

Total space requirement

76 Gb

It’s not efficient because majority of game files have not changed since DVD release and making copies of them instead of linking master copies of them doubles space requirement.

I decied to cross-check MD5 sums of different game releases (retail DVD, 1.0.7.0 PROPHET, 2020CE) and created a list of such static game files. I also wrote a batch script barebone_iv.bat that creates a  copy of GTAIV game folder with these static files not actually copied but NTFS-linked thus saving 16.5 Gb or more for basic game and 7 Gb for DLC subfolders. A simple barebone copy ends up taking less than 200 Mb and can be created in less than a minute!

For master and copy folders on different volumes symlinks are used - they require Admin privileges to create. If master and copy folders are on the same volume hardlinks/junctions that don't require Admin privileges are used (read article in Reference Links section for details).


In this example file ambient_streams.rpf in D:\. . .\pc\audio\sfx is a symlink to the master copy of file on drive I: and doesn’t take any space on drive D: .

General barebone_iv.bat usage

barebone_iv.bat’s primary use is to create a separate "barebone" copy of game folder for downgrade while keeping master game folder intact by utilizing Zolika’s modloader or FusionFix modloader in each barebone instance.

Several downgraded “barebone” instances of master 2020 Complete Edition, which remains untouched

Download  barebone_iv.bat here. It is supposed to be run from command line. You can put it in any folder which is in PATH environment variable or current folder.

{path\to\}barebone_iv.bat c:\steamlibrary\gtaiv_ce d:\games\gtaiv_1000

you may put it into master game folder c:\steamlibrary\gtaiv_ce and run from there

c:

cd \steamlibrary\gtaiv_ce

barebone_iv.bat . d:\games\gtaiv_1000

Read prompts presented by script, it is self-explanatory.

Example usage scenarios

How to make copy for 1.0.0.0 rollback

{path\to\}barebone_iv.bat c:\steamlibrary\gtaiv_ce d:\games\gtaiv_1000

  • Y for copying radio
  • N for skipping DLCs

size is 2036 Mb after barebone_iv.bat, 2119 Mb after restore1000.bat andunpacking original_radio_rpf.zip

How to make copy for 1.0.4.0 downgrade with old radio downgrader

{path\to\}barebone_iv.bat c:\steamlibrary\gtaiv_ce d:\games\gtaiv_1040

  •  Y for copying radio
  •  N for skipping DLCs

 size is 1966 Mb after 1040_downgrade_AIO.zipand original_radio_rpf.zip

How to make copy for classic 1.0.7.0 GFWL-compatible downgrade with official Rockstar Patch 7

{path\to\}barebone_iv.bat c:\steamlibrary\gtaiv_ce d:\games\gtaiv_1070

  •  N for linking radio
  •  C for copying DLCs

 Size is 221 Mb after barebone_iv.bat, 1310 Mb after Classic GFWL-compatible 1.0.7.0 downgrade:

  •  install latest radio restorer. Note that installer in latest radio restorer may expect GTAIV.exe v1.2.0.x and should be installed before Patch 7
  • instqll DLC integration pack, that creates GFWL-compatible DLC subfolder structure
  • move/link restored DLC radio to reflect DLC integration pack structure:
manually create update\DLC\TLAD\content folder and move everything from update\TLAD there
manually create update\DLC\TBoGT\content folder and move everything from update\TBoGT there
  OR link them from command line
cd {copied game folder}\update
md DLC\TLAD & mklink /j DLC\TLAD\content tlad
md DLC\TBoGT & mklink /j DLC\TBoGT\content tbogt
  • unpack Patch 7
  • install FusionFix preCE, loading from update\dlc\{DLC}\content tested OK on 2.0beta3. Zolika's preCE FusionFix port may not work.
  • install XLivelessAddon

How to make copy for simplified 1.0.7.0 express downgrade with ZolikaPatch

{path\to\}barebone_iv.bat c:\steamlibrary\gtaiv_ce d:\games\gtaiv_1070z

  •  N for linking radio
  •  L for linking DLCs

Size is 164 Mb after barebone_iv.bat, 1251 Mb after express downgrade + latest radio restorer (installer in latest radio restorer may expect GTAIV.exe v1.2.0.x and should be installed before ZolikaPatch) +  Zolika’s port of FusionFix preCE with modloader support.

Overall space savings

The same set of copies that took 76 Gb with traditional full copies takes about 30 Gb with barebone copies:

GTAIV_CE – master copy of the game with DLCs takes about

24 Gb

GTAIV_1000 – copy without DLCs, with original radio from DVD

2.1 Gb

GTAIV_1040 – copy without DLCs, with original radio or old radio downgrader

2 Gb

GTAIV_1070 – copy with DLCs, DLC integration pack and latest radio restorer

1.3 Gb

Total space requirement

29.4 Gb


Reference Links

  1. NTFS HardLinks, Junctions and Symbolic Links,  2brightsparks
  2. “Heredocument” in CMD , stackoverflow

No comments:

Post a Comment