-
-
Notifications
You must be signed in to change notification settings - Fork 41
Param Patching (Features)
In Super Smash Bros. Ultimate, there are various file types that store parameters that the game will reference at runtime. Think of these as settings for the game stored in special param files, that all follow a specific format that we abbreviate to "PRC".
Multiple file types use this, and those are:
prc
stprm
stdat
ARCropolis supports the loading and patching of these files through dedicated files called param patches. They are essentially special PRC files (or XML) files that can be used in place of the original file, allowing multiple mods to modify the same file. This is super helpful for mods that impact any of the ui/param/database
files, as those are the most often edited.
Before you can create a patch file, you need the source (vanilla) file and the modded file. You can get the vanilla file from extracting it from the game, and for the modded file you can use prickly, a TUI based param editor to edit the vanilla file. For example, lets say we have a file called vanilla_fighter_param.prc
and a file called modded_fighter_param.prc
. We want to generate a patch file which can go from the vanilla to the modded param file consistently.
To do so, you're going to need to use parcel, which you can install using cargo install --git https://github.com/blu-dev/parcel
, or by downloading the binaries from the releases.
parcel
supports both diffing and patching files.
In order to generate a binary batch file, you'll want to run a command similar to the following:
parcel diff vanilla_fighter_param.prc modded_fighter_param.prc fighter_param.prcx
This will generate a single file named fighter_param.prcx
, which when placed into fighter/common/param/
will serve as patch file for fighter_param.prc
However, this is not always the easiest to make frequent edits with. For that reason, ARCropolis also supports using XML patches, in which case you'll want to also go ahead and download ParamLabels.csv from the hashes repository. You would run the following command:
parcel diff vanilla_fighter_param.prc modded_fighter_param.prc fighter_param.prcxml --type xml --hashes ParamLabels.csv
And that would generate an XML file that contains all of the modified parameters, and ARCropolis will patch the file properly, although reading in the data might be a little bit slower than actual binary data. Of
- Home
- Getting started
- Features
- Troubleshooting
- Introduction to code modding (Coming soon, maybe, someday, eventually)
- Rust for Smash modding
- Introduction
- Beginner
- Intermediate
- Advanced
- Cheat sheet
- Rust for Smash modding
- Guides
- Overview
- ARCropolis API
- Miscellaneous