All Projects → UnclePunch → Training Mode

UnclePunch / Training Mode

A modpack for Super Smash Bros, Melee for practicing tech.

Programming Languages

assembly
5116 projects

Training Mode - A Melee Modpack for Practicing Tech

Training Mode is a modpack for Super Smash Bros. Melee that aims to streamline practice by providing pre-made individual training scenarios. This mod utilizes the event mode present in Super Smash Bros. Melee and reworks them to focus around specific techniques, complete with automatic savestate functionality to allow for rapid-fire practice. Some events have included video tutorials playable in-game (ISO version only) to teach the player about the tech and how to perform it. In addition to these events, Training Mode also includes onscreen text displays which provide you with information otherwise unavailable to you mid-game.

How To Compile the ISO on Windows

1.) Fizzi36 wrote a program to mass assemble .asm files, it is included in the "Build TM Codeset" folder in this repository. All you need to do is launch the "Build Training Mode Codeset.bat" file and the codes.gct file will be generated and placed in the "Additional ISO Files" folder. This folder contains all the files you need to place into the ISO to run Training Mode minus one file, the Start.dol.

2.) The Start.dol is the game's executable and contains copyrighted code, so for that reason I cannot distribute it. However, if you manage to extract the Start.dol file out of your own ISO file you can patch the dol file to load the codeset created prior. Look for the file named "Drag Melee v1.02 Start.dol Here.bat" located in the "Build TM Codeset" folder and drag your extracted 1.02 NTSC Start.dol file onto the .bat file. The modified Start.dol will also be place in the "Additional ISO Files" folder.

3.) You can now copy the contents of "Additional ISO Files" to an NTSC 1.02 Melee root folder and rebuild the ISO. I recommend using GCR.

How To Compile The ISO on MacOS

Note: I haven't tested this on Linux.

Things you'll need

1.) Install brew

2.) Run brew install go wine xdelta. This will install wine for running GCR, go for building our mass assembler, and xdelta for patching the .iso.

3.) Download a copy of GCRebuilder

4.) Clone or download the JLaferri/gecko repo

Before your first build

Note: $PROJECTROOT prefers to the root of this project

1.) cd into wherever you downloaded the JLaferri/gecko repo (e.x ~/Downloads/gecko)

2.) Run go build. This will generate a an executable called gecko. Place that executable in the $PROJECTROOT/Build TM Codeset/mac directory of this project

3.) You'll need the Start.dol file from your Melee iso, this is where wine comes in handy. Run wine $PATH_TO_GCREBUILDER.exe, GCRebuilder should open its own window, from there you can extract your Start.dol. Your Melee iso md5 hash should be equal to 0e63d4223b01d9aba596259dc155a174.

Building

1.) cd into $PROJECTROOT/Build TM Codeset/mac, and run ./gecko build. This will mass assemble the .asm files in the $PROJECTDIR/ASM directory, you should end up with a codes.gct file in $PROJECTDIR/Additional ISO files.

Example output:

Writing to ../../Additional ISO Files//codes.gct...
Successfuly wrote codes to ../../Additional ISO Files//codes.gct
Process time was 25.577666254s

2.) Run ./modifyStartDol.sh $PATH_TO_YOUR_START.DOL, where $PATH_TO_YOUR_START.DOL is where the Start.dol you extracted is located. This will generate a new Start.dol at $PROJECTROOT/Additional ISO Files/Start.dol

3.) You can now copy the contents of $PROJECTROOT/Additional ISO Files to an NTSC 1.02 Melee root folder and rebuild the ISO, using GCRebuilder as we did in Step 3 in Before your first build.

Common Errors

1.) When running GCRebuilder with wine it crashes with dyld: Symbol not found: _gliCreateContextWithShared

A) this solves the issue.

2.) xdelta3: target window checksum mismatch: XD3_INVALID_INPUT

A) Your Start.dol you extracted from Melee isn't correct. Make sure your .iso has a md5 hash equal to 0e63d4223b01d9aba596259dc155a174.

Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].