Home Gallery Resources The Team Rules chat Login Register
Pages: [1]
Author Topic: Project+ music modding guide by mawwwk  (Read 2641 times)
0 Members and 1 Guest are viewing this topic.
Ricky (Br3) ♥
KC:MM Family JesterㅤRadical Dreamer
Global Moderator
Offline Offline

Posts: 7296

  • Awards KCMM Storyteller RAGE!! Warm Welcomer Sniper

  • View Profile WWW Awards
    « on: May 06, 2020, 07:17:54 AM »

    Credits to mawwwk for this tutorial (with a few edits by me)

    - Project+ for Dolphin or Wii
    - BrawlCrate (Download)
    - For Dolphin only: a virtual SD card editor such as ImDisk, WinImage, or VSDSync

    - A list of Brawl song IDs can be found here (OpenSA), or here (Smash Mods Wiki)
    - Virtual SD Card guide -  for help with modifying Dolphin builds. This guide won’t cover the process of mounting an sd.raw file for Dolphin.
    - VSDSync - a handy tool which syncs files from a local folder to a Dolphin virtual SD card with one click
    - Smash Custom Music Archive or Brawl Vault - for obtaining custom .brstm files

    Before starting, you may want to enable default file associations in BrawlCrate. This can be done in Tools > Settings > File Associations.
    After setting these, you’ll be able to easily open the necessary files by double-clicking them in File Explorer.

    Methods covered in this guide:
    1. Adding existing Brawl tracks to an existing tracklist
    2. Adding custom tracks to an existing tracklist
    3. Creating a new tracklist, and assigning it to an alt stage slot

    About BrawlCrate and tracklist (tlst) files
    BrawlCrate is a multi-purpose Brawl modding tool designed to open and edit various file formats used by Brawl and Brawl mods. The software is a continuation of the program BrawlBox, and is maintained and regularly updated by soopercool101. The version used in this guide is v0.32, though future versions should maintain compatibility and functionality.

    TLST is a new file format designed by DukeItOut, and is utilized by Project+ to expand and modularize stage tracklist functionality. It allows for relatively unrestricted use of BRSTM files per stage, and doesn’t rely strictly on static song IDs. What this means is that BRSTM files can be named whatever you want! BRSTMs can also be shared between stages, and they don’t need to replace existing Brawl tracks to be read.

    TLSTs can be used for any alt stage slot as well. For example, an R-alt stage can have a unique and separate tracklist from its respective base stage, or a separate tracklist for a base stage could be made to load by holding a button such as Start or Y.

    TLST files also support a new Project+ feature: pinch mode. This allows for tracks to be switched in-game if one of these conditions are met:
    a) The time specified in SongSwitch is reached
    b) Two characters remain, and one is on their last stock (and below 100HP, if in Stamina mode)
    c) Playing a Special Versus match in Wild mode, 300% mode, or Bomb Rain mode
    d) Sudden Death occurs

    BrawlCrate has functionality to add, reorder, modify, and delete tracks from any tracklist file with a simple-to-use UI.
    Viewing a tracklist entry in BrawlCrate will show the following data fields:

    SongID - Used for calling Brawl tracks or distinguishing custom tracks. Explained in more detail below.
    SongDelay - Frames to wait before playing the song at match start. -1 can be used to play at the end of the countdown
    Volume - Set to 80 by default. Can range from 0 to 127. Tracks typically use values between 50 and 90. This is ignored for Brawl tracks
    Frequency - Set to 40 by default. Can range from 0 to 100, where higher means more likely to play. Can be changed in-game in My Music.
    SongFileName - Used to locate custom tracks inside the strm folder. Explained in more detail below.
    SongSwitch - Time remaining in a game to switch to another track (aka pinch mode), measured in frames (3600 = 1 minute)
    DisableStockPinch - If true, disables condition (b) listed above
    HiddenFromTracklist - Hides a song from the My Music list. Typically used for pinch mode tracks

    TLSTs seem to have a file size limit of about 3.87 KB, which is equivalent to approximately 45 tracks. Exceeding this limit may cause issues in-game.

    Method 1: Adding existing Brawl tracks to an existing tracklist
    For this example, we’ll add “Boss Battle Song 2” to Battlefield’s tracklist.

    First, find the Project+/pf/sound/tracklist/ folder in the build, and open the Battlefield.tlst file in BrawlCrate.

    Right-click the top-level entry that says “Battlefield” and select Add New Entry.
    The name of this entry is what will be shown as the song title in-game, so we could change it if we wanted to.
    I’ll enter this as “Boss Battle 2 (Brawl)” and create the entry.

    The frequency value can be adjusted as well. Use any value between 0 and 100.
    The volume field only applies to custom tracks, so we won’t worry about it here yet.

    The last step is to change the SongID value to load the track we want. A list of these can be found in the Resources section.
    The song ID for this track is 2825, so I’ll enter it as the last 4 digits of the SongID. Make sure to keep the 0x prefix. (0x00002825, in full)
    Feel free to reorder the tracks as you see fit, in any order, by dragging the song entries around.

    Save the tlst file, copy it to the SD card if it’s not already copied, and boot up the game to find the newly added track!

    Method 2: Adding custom tracks to an existing tracklist

    This will assume you have a ready-to-add custom .brstm (song) file. In this guide, we’ll add “Redial” to Pokemon Stadium 2.

    1. Open the tracklist file (Pokemon_Stadium_2.tlst) and add a new entry, like above. Name it however you want the track to be named.
    I’ll move my track to the top of the song list, out of preference.

    About custom song IDs:
    Custom song IDs must always be 0x0000F followed by 3 hex digits. They must be unique among tracks on the same tracklist.
    Songs on different tracklists can share SongID values.
    There’s usually no need to change the automatically generated SongID that BrawlCrate assigns, so in this case, 0xF00B works fine.

    About brstm file paths:
    Custom brstm files must be placed inside the pf/sound/strm folder. The brstm can be inside a sub-folder, or a sub-sub-folder…
    How you organize brstm files is up to you, though sorting them in folders by stage or by series is recommended.

    2. Fill in SongFileName with the file path of the brstm.
    I have the brstm inside a folder named Pokemon Stadium 2. So the full file path for it is:
       SD:/Project+/pf/sound/strm/Pokemon Stadium 2/Redial.brstm

    In SongFileName, I’ll enter Pokemon Stadium 2/Redial

    If the SongFileName is valid, the music player will appear in BrawlCrate, and you should be able to successfully play back the song!
       *In some cases, such as if you rename a brstm file, you may need to save & re-open the tlst file for the music player to appear.

    Save the tlst file, make sure all files are in-place on the SD card, and you’ll find your new track waiting for you in-game.

    Method 3: Creating a new tracklist, and assigning it to an alt stage slot
    In this section, we’ll copy an already-made tracklist and add it to an alt slot. Our goal will be to play F-Zero music on the Final Destination R-alt.

    1. Start by duplicating an existing tracklist, then rename it to something easy to recognize.
    In the tracklist folder, I’ll take the Death_Race.tlst and copy it.
    Since it’ll be used for the PM FD alt,  I’ll rename the new copy to Final_Destination_PM.

    2. Open the new tlst in BrawlCrate, and make whatever custom edits you’d like. These can be changed at any time.
    For the sake of having a unique tracklist here, I’ll replace the first 2 tracks with “Like a Snake” and “Silence.”

    3. Currently, our tracklist file exists, but nothing is loading it. We’ll need to modify a .param file to load this tlst file.
    .param files control which stage and tracklist is loaded for a given button combination held, along with various other parameters.
    They can be found in pf/stage/stageinfo. Locate the .param for the stage you want to redirect the tracklist for, and open it in BrawlCrate.
    In our case, this is Final_Destination_R.param.

    The TrackList field is currently loading Final_Destination.tlst, which is the same tlst as the base stage.
    We want to use the newly created tracklist, Final_Destination_PM.tlst. This is the only thing to change in this file.

    Save the .tlst and .param files, and then we can test in-game! An easy way to verify the tracklist is to go to My Music, and select the stage using the appropriate button combination, as if you were loading the alt stage itself.
    For the custom FD tracklist, I’ll hold R while selecting FD.

    Of course, we can also test by playing a match here.




    Pages: [1]
    Jump to: