Restoring Stock Parts - PorktoberRevolution/ReStocked GitHub Wiki

This page covers how to restore a stock part to its pre-Restock state. This requires two steps: first

  1. Whitelisting the Squad art assets to allow them to load,
  2. Disabling the ModuleManager patch that tells the game to use the new art instead of the old part. Alternately, instead of disabling the patch, you can modify it so both versions are available, if so desired.

As an example we will be using the Terrier engine.

Whitelist the part

The part's art assets must first be whitelisted. Follow the guide here to create a mymod.restockwhitelist file in your GameData directory if you don't have one already.

You must locate the correct assets to whitelist - a good way of doing this is by looking inside the Restock.restockblacklist file in your GameData directory to see what we have blacklisted. Alternately, find the part's files in the Squad directory yourself.

Terrier Example

The Terrier's assets are located under Squad/Parts/Engine/liquidEngineLV-909_v2/, so add that file path to your whitelist file.

Disable the ModuleManager patch

Locate the patch for the part you want to reactivate. Generally all patches are located at GameData/Restock/Patches, with the exception of MH parts that are located in GameData/Restock/PatchesMH. Patches are organized further by category and by size class, so all stock engine patches will be in GameData/Restock/Patches/Engine, and the 1.25m engines will be in restock-engines-liquid-125.cfg. All the parts affected by the part file are listed at the top of the file.

To disable a patch, you can simply change the patch's target specifier to something that doesn't exist. You could also remove the entire block, but this is easier.

Terrier Example

Before:

restock-engines-liquid-125.cfg
...
@PART[liquidEngine3_v2]
...

After:

restock-engines-liquid-125.cfg
...
@PART[liquidEngine3_v2_disable]
...

Optional: Make both versions available

It's also possible to make both versions of the part available. To do this, change the specifier for the patch from an @ to a +, and give the part a new name field. This will result in both versions of the part being visible in the part list

Terrier Example

Before:

restock-engines-liquid-125.cfg
...
@PART[liquidEngine3_v2]
{
  ...
}
...

After:

restock-engines-liquid-125.cfg
...
+PART[liquidEngine3_v2]
{
  @name = liquidEngine3_v2_restock
  ...
}
...