-
-
Notifications
You must be signed in to change notification settings - Fork 41
MotionList Patching (Features)
ARCropolis 3.9.0 introduces the ability to load and patch motion_list.bin files in a similar manner to prcx/prcxml in the format of a motdiff
file. Using a motdiff
patch will patch the motion_list.bin during runtime, in turn allowing the user to have multiple edits to a particular motion_list.bin file, should they feel like doing so. Like prcx/prcxml, motdiff
files are not detected by ARC's conflict system.
In addition, ARCropolis 3.14.0 allows users to use decompiled motion_list.bin files, in the form of motion_list.yml
, as a full replacement for the original motion_list.bin.
The process requires yamlist.exe, which can be found here. It is also required to have a vanilla motion_list.bin along with the modified file. Be sure the names of the files are different as well.
Finally, it is recommended to have Labels.txt
, which you can find here. Make sure to right click the link and Save as File.
To create a motdiff
, place all files within the same directory and open Command Prompt. Afterwards, enter the following command:
yamlist diff <base motion_list>.bin <modified motion_list>.bin -l Labels.txt -o motion_list.motdiff
If done correctly, motion_list.motdiff
should appear in the same folder. Adding -l Labels.txt
is optional, but will show the proper names of everything instead of just their hash. Adding -o motion_list.motdiff
is similarly optional, but it changed the output file name from the default diff.yml
to motion_list.motdiff
.
To create a full motion_list.yml
, all you need is your motion_list.bin
and (optionally) the Labels.txt from above. Then you can just run the following:
yamlist disasm <motion_list to decompile>.bin, -l Labels.txt -o motion_list.yml
Once again, -l Labels.txt
and -o motion_list.yml
are optional arguments for the same reason as above, though the default filename for disassembling is out.yml
instead.
While multiple motion_list.yml
s can be used for a single motion_list.bin
file, only the last one discovered by ARCropolis will be used. This can be checked using the skyline logger: When it attempts to patch a motion_list.bin, ARCropolis will print every motion_list.yml
file it finds, then warn the user if there were multiple and will state which one was the last applied:
[ARCropolis::loader] Patching "fighter/marth/motion/body/c00/motion_list.bin"
[ARCropolis::loader] motion_list.yml file(s) found!
[ARCropolis::loader] Replacing motion_list.bin with sd:/ultimate/mods/The WuBor Patch/fighter/marth/motion/body/c00/motion_list.yml.
[ARCropolis::loader] Replacing motion_list.bin with sd:/ultimate/mods/Enable With WuBor/fighter/marth/motion/body/c00/motion_list.yml.
[ARCropolis::loader] Multiple motion_list.yml files found for fighter/marth/motion/body/c00/motion_list.bin.
The last applied .yml file will be used.
[ARCropolis::loader] Motion List Patching finished, writing to file...
Please use that opportunity to deal with conflicts, as you may have unexpected issues arise when playing that character.
As a final note, motion_list.yml
gets applied first, then any motion_list.motdiff
patches get applied on top of that, so they are compatible with each other.
- 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