Ads keep us online. Without them, we wouldn't exist. We don't have paywalls or sell mods - we never will. But every month we have large bills and running ads is our only way to cover them. Please consider unblocking us. Thank you from GameBanana <3

SmashPad (easy compression tool)

A Modding Tool for Super Smash Bros. Ultimate

Members see zero ads. Membership is 100% free

Updates

menu
Version 0.2.1 26d
  • BugFix Decompression no longer fails for files with unspecified decompressed size (thanks BenArthur_7!)
Version 0.2 (and GUI!) 7mo Addition2

Tool to compress and pad SSBU mods to the correct file size

All files in Super Smash Bros. Ultimate are compressed using the zstd format. Any modded files need to be compressed to the same exact size as the game's original compressed file. This Python script can do that for you.

Requirements

Compression Instuctions

  1. Install all of the above required software.
  2. Download smashpad.py from this page.
  3. Extract a game file using CrossArc and mod it to your liking (if you haven't already). Make note of what CrossArc says is the "Comp Size" of the file; you'll need it for step 5.
  4. Place the modded file in the same folder as smashpad.py (or somewhere nearby).
  5. In Command Prompt (Windows) or Terminal (macOS), navigate to the folder containing smashpad.py, then type the following:
    • python smashpad.py [input] [size] [output]
    • Replace [input] with the name of the modded file (or the path to the file if it's not in the same folder).
    • Replace [size] with the comp size of the file as shown in CrossArc (see step 3). Enter the comp size as you see it (in hexadecimal); don't convert it to a decimal number.
    • Replace [output] with the name you want your new compressed file to have. This is optional; if you don't care, leave it blank.
    • Example: python smashpad.py ui_spirits_battle_db.prc 0x140CD 0x103B7D0B8.prc
    • If you receive Error: File cannot be compressed to the required size, then your modded file is too large or complex to be compressed to the same size as the original file.
  6. Look in the folder that contains your input file. You should see a compressed file, padded to your specified size, with the file name you specified in the previous step. If you didn't specify a file name, the compressed file will have the same name as your input file, but with .pad added to the end.
  7. Install the compressed file using your preferred install tools.
  8. Have fun!

Decompression Instructions

SmashPad can now decompress any file that was compressed with it (or that was compressed with any ZStandard implementation). To decompress, follow steps 1-6 for compression, except in step 5, replace [size] with the word decomp. If you don't specify an output file name, your decompressed file will have the same name as your input file, but with .orig added to the end.

Example: python smashpad.py 0x103B7D0B8.prc decomp spirit_battles.prc

GUI Version

Don't want to use the command line? NyxTheShield has created a graphical version of SmashPad (see the second screenshot above), available at the link in "Alternate File Sources".

To use the GUI version, you will need:


After downloading the GUI version of SmashPad and installing the above requirements, simply run Smashpad-GUI.pyw, select a file to compress or decompress, and click the appropriate button. If you select a file that was exported from Nyx's edit of CrossArc with the option "Extract + Include Offset and Size on the file name", it can be compressed with no extra information entered. Otherwise, SmashPad will ask you for the desired comp size.

Troubleshooting

Having trouble using either version of SmashPad? Make sure you have installed the correct version of Python and, if you're using Windows, added the Python folder to your PATH environment variable. Also, if using the GUI verison, make sure Smashpad-GUI.pyw is set to open with pythonw.exe.

Files

Alternate File Sources

Comments

Sign up to access this!

Embed

menu
Share banner
Image URL
HTML embed code
BB embed code
Markdown embed code

Credits

Key Authors
Birdwards
Birdwards Joined 8mo ago
Offline
132 points Ranked 62480th
Creator; padding algorithm
NyxTheShield
NyxTheShield Joined 8mo ago
Offline
468 points Ranked 46018th
Zstandard integration; GUI
Contributors
BenArthur_7
BenArthur_7 Joined 2y ago
Offline
194 points Ranked 56339th
Bugfix

Submitter

Birdwards avatar
Birdwards Joined 8mo ago
Offline
132 points Ranked 62480th
Birdwards
Creator
  • Paypal Donate
Sign up to access this!
Sign up to access this!
Sign up to access this!

Game

Sign up to access this!

Category

License

menu

Details

Attributes

Development State
Beta
Compiled Language
Python
Operating System
Genre
Compiling

Share

  • Share on Reddit
  • Share on Twitter
  • Share on Facebook
  • favorite 5
  • cloud_download 260
  • remove_red_eye 12.7k
  • mode_comment 8
  • access_time 7mo
  • access_time 26d
  • refresh 26d

More Other/Misc Tools