Difference between revisions of "Documentation/Tools/Game Archive Packer"

From SCS Modding Wiki
Jump to navigation Jump to search
(Created page with "The ETS2/ATS update 1.50 introduces a v2 version of HashFS format. This format allows for more efficient loading of game data by storing resource metadata in memory. While all...")
 
 
(4 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The ETS2/ATS update 1.50 introduces a v2 version of HashFS format. This format allows for more efficient loading of game data by storing resource metadata in memory. While all previous formats are still supported for mods, they might cause stalls for some resource types as the engine assumes that the metadata are available immediately. This tool provides support for creating and extracting .scs pack files. The creation supports v2 only, extraction supports both v1 and v2. The previous extraction-only variant with simplified interface is still available [[Documentation/Tools/Game Archive Extractor|Documentation]].
+
The ETS2/ATS update 1.50 introduces a v2 version of HashFS format. This format allows for more efficient loading of game data by storing resource metadata in memory. While all previous formats are still supported for mods, they might cause stalls for some resource types as the engine assumes that the metadata are available immediately. This tool provides support for creating and extracting .scs pack files. The creation supports v2 only, extraction supports both v1 and v2. The previous extraction-only variant with simplified interface is still [[Documentation/Tools/Game Archive Extractor|available]].
  
Please note that there might be some changes to the format during the 1.50 beta.
+
The format handles textures as a single object. When tobj is encountered during packing step, it will read all referenced dds files and store result as a single combined object. Unreferenced dds files are ignored. This means that when modding a texture, you need to include both tobj and all referenced dds files.
  
 
=Archive extraction=
 
=Archive extraction=
  
To extract the content into the current directory use
+
To extract the content into the current directory use:
  
 
<pre>scs_packer extract archive.scs</pre>
 
<pre>scs_packer extract archive.scs</pre>
  
To extract the content into a specific directory use
+
To extract the content into a specific directory use:
  
 
<pre>scs_packer extract archive.scs -root <directory></pre>
 
<pre>scs_packer extract archive.scs -root <directory></pre>
Line 15: Line 15:
 
=Archive creation=
 
=Archive creation=
  
To create archive from content of specified directory use.
+
To create archive from content of specified directory use:
  
 
<pre>scs_packer create archive.scs -root <directory></pre>
 
<pre>scs_packer create archive.scs -root <directory></pre>

Latest revision as of 11:22, 14 May 2024

The ETS2/ATS update 1.50 introduces a v2 version of HashFS format. This format allows for more efficient loading of game data by storing resource metadata in memory. While all previous formats are still supported for mods, they might cause stalls for some resource types as the engine assumes that the metadata are available immediately. This tool provides support for creating and extracting .scs pack files. The creation supports v2 only, extraction supports both v1 and v2. The previous extraction-only variant with simplified interface is still available.

The format handles textures as a single object. When tobj is encountered during packing step, it will read all referenced dds files and store result as a single combined object. Unreferenced dds files are ignored. This means that when modding a texture, you need to include both tobj and all referenced dds files.

Archive extraction

To extract the content into the current directory use:

scs_packer extract archive.scs

To extract the content into a specific directory use:

scs_packer extract archive.scs -root <directory>

Archive creation

To create archive from content of specified directory use:

scs_packer create archive.scs -root <directory>

The tool will automatically compress all compatible files. For development purposes it might be useful to disable the compression by specifying -nocompress parameter to speed up the entire process.

Download

Download the packer here.