• Welcome to Smashboards, the world's largest Super Smash Brothers community! Over 250,000 Smash Bros. fans from around the world have come to discuss these great games in over 19 million posts!

    You are currently viewing our boards as a visitor. Click here to sign up right now and start on your path in the Smash community!

Project Gecko Tools (Bulk compile your ASM)

Fizzi

Smash Ace
Joined
Feb 14, 2008
Messages
802
Location
Brooklyn, NY
Slippi.gg
FIZZI#36
I quickly put together this project to solve a problem I was having while developing codes. I was finding it really annoying, every time I made an ASM code change, having to copy my new code into CodeWrite, set the address, click the arrow, and then copy the contents and replace the correct portion of my composite code in GALE01r2.ini.

Composite codes (perhaps there's a better term) is a trend I've been seeing where Melee developers package multiple individual Gecko codes as one single code. The process I described earlier gets even more annoying when I make changes to say 3 asm files at once. I have to correctly compile and replace every single one. I wanted an easier, faster, and less error prone method.

Drawing inspiration from package managers such as npm, I thought it would be a good idea to just define what codes I wanted to compile and what addresses I wanted to inject at in a configuration file and just say "build". So that's what I did and currently that's the full scope of this simple project.

Find out more on the GitHub page: https://github.com/JLaferri/gecko
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
You can also do this with MCM, since codes in the library can be saved as hex or assembly. So, say you have a mod that's installed in your game that you want to modify. You would deselect the mod in MCM and hit CTRL-S to save and uninstall it from your game. Then go to the mod in the Mod Construction tab, make the changes you want and save them (again, they can be written as assembly here. And at this point, when saving, you're saving your changes to the mod in the library). Then go back to the Mods Library tab, re-enable the mod, and again hit CTRL-S to save/reinstall the mod to your game. Done!

Granted, MCM is outputting to your game though, rather than a Gecko codes file. So it's a bit different. But having them saved to your game in this way is a bit more efficient, since you don't have the Gecko codehandler running every frame.

And if DOL mods are the way you wan to go (saving the codes directly in the game), MCM also opens up the ability to use Standalone Functions. Which makes it easy to store blocks of code such as functions or data tables in the DOL, and reference them from multiple places without having to store multiple instances of the code (even across multiple different mods that might use the function). You can basically take custom functions, and treat them as if they're vanilla, native game functions. There's some description and examples of them in the second post of the thread, in the ’Standalone Functions and Special Branch Syntaxes’ spoiler, if you're interested.

I've been working quite a bit on revamping the program, giving it more features and useful behaviors. So I should have a pretty nice v4.0 release up if you check back on it in about a week or so.
 
Last edited:

Fizzi

Smash Ace
Joined
Feb 14, 2008
Messages
802
Location
Brooklyn, NY
Slippi.gg
FIZZI#36
DRGN DRGN Yeah MCM is super cool. I think though the goal of what I developed is more for a quick development workflow.

Lets me develop codes in multiple files using a code editor with an ASM linter and generate code strings, to test them very quickly. Sounds like the workflow as I'm making a lot of changes to my ASM files with MCM would be a bit slower. I'm also testing a lot of what I'm working on with Faster Melee which uses the vanilla melee ISO.

Long term though I will likely use MCM for sure. My codes have a lot of shared code and having to include that shared code in every code is highly inefficient. Can MCM be used to help make a memory card hack version of your mod? Cause if so that'd be super helpful.
 

DRGN

Technowizard
Moderator
Joined
Aug 20, 2005
Messages
2,178
Location
Sacramento, CA
Ah, I see. You could also modify your ASM files with an external editor while still using MCM as the injector, but sounds like with your method and Gecko codes, skipping the uninstall/reinstall steps probably does allow for quicker testing.

Yeah, MCM could build memory card hack files. But I decided not to make that into a public feature, as that would probably make cheating a bit too accessible. However considering the projects you've had or might want that for, and that I don't think you'd be using it to cheat, I'd still be willing to help you with that if you'd like. If so, feel free to PM me about it.
 
Top Bottom