Home Gallery Resources The Team Rules chat Login Register
Pages: [1]
Author Topic: [Advanced] Adding Action Overrides (Entry/Exit) to a Fighter  (Read 1173 times)
0 Members and 1 Guest are viewing this topic.
Meme Machine
Offline Offline

Posts: 7206

  • Awards >9000 Hyperactive Contributor Heart Container Troubleshooter

  • View Profile Awards
    « on: August 05, 2017, 03:23:21 PM »

    This is something I've been waiting to become possible for a long time, but with the recent update to PSA Compressor, it's finally here!

    An Action Override is a Fighter-specific override of a shared Action. For example, Yoshi has his own unique Guard Actions that are only possible with Action Overrides.

    An Action Override Entry is read when entering the Action, and an Action Override Exit is read when exiting the Action.

    -A FitFighter.pac of your choice.
    -The Fighter.pac file (not to be confused with FitFighter.pac), which can be extracted from the common3.pac file.
    -BrawlBox v0.68b. (Download)
    -PSA Compressor (at least v0.31). (Download)

    But enough waiting around, let's get started.

    Before you add an Override, you'll need to know which Action you want to make an Override for. You can see a list of all labeled Actions every Fighter shares by following this link. http://tinyurl.com/y8j3ywxx

    For this tutorial, I'll be making an Override for Action 1B, which is the Guard Action.

    To start things off, open your FitFighter.pac, and go to the Events tab, then go to the Overrides tab. Here, you'll click on the drop down menu next to "List" to see three options, Entry, Exit, and Pre. We'll be starting off with making an Entry, so click Entry.

    After that, you'll be right clicking on the drop down menu, and click on "Edit, Add". A new window should appear. In here, you'll be changing that 0 to 1B before clicking "Done".

    Once that's all settled, you should now be returned to the main PSA Compressor window. Click in the "Action ID" drop-down menu to see your new Action Override, but now you'll need to insert your coding, or else literally nothing will happen when you try to Shield in-game.

    Next, you'll open a new instance of PSA Compressor and BrawlBox v0.68b and open the Fighter.pac you extracted from your common3.pac. Navigate to Action 1B in PSA Compressor and Action 27 in BrawlBox (since BrawlBox unhexes everything). A distinct difference you'll see here is with the Sub Routines. With some Actions, they use what's called an External Sub Routine. If you were to just copy the coding from PSA Compressor into your Override, you'd have to copy every Sub Routine it uses, which can really bloat file size. The next step will show you what you need to do if an Action uses an External Sub Routine. If your Action doesn't use an External Sub Routine, then you're done with this tutorial, unless the Action has its own Sub Routines, in which you'll need to make your own Sub Routines, insert the coding the Action's Sub Routines use, and update the Offsets.

    Back in your main PSA Compressor window, go to the Data tab, then to the External Sub Routines tab. Right click and click Add. A new window should appear. Enter the exact name the External Sub Routine uses that was shown in BrawlBox. In this specific case, there's two External Sub Routines, so we'll be doing this twice.

    Once you have the needed External Sub Routines added, go back to the Overrides tab, highlight the coding in the Fighter.pac's instance, copy it, and paste it into your Fighter's window. After this, you'll need to fix the Sub Routines to use your newly added External Sub Routines. All you need to do is right click on the Sub Routine commands, and click "Set External" to assign your newly added External Sub Routines to them.

    And with that, you're done. You can now save, insert your own custom coding, save again, and test. If you need to add an Override for an Action Exit, then you'll need to re-do this tutorial, except with Action Exits, rather than Action Entries.

    I don't take requests.

    My PSA Thread

    Pages: [1]
    Jump to: