News:

Don't forget to visit the main site! There's lots of helpful docs, patches, and more!

Main Menu

Cool SMILE Plugins.

Started by personitis, November 03, 2009, 06:55:33 PM

Previous topic - Next topic

personitis

Well, now that SMILE features plugins (thought I don't think anyone can upload any just yet...), what do you think would be a cool one? Personally, I think one to make extra music would be awsome. But I don't know how hard that would be to do.

Zhs2

Are you planning on writing it? :razz:

A better question to ask would probably be "what the eff are they written in," which is probably mentioned somewhere in SMILE or its documentation otherwise, in which case this is redundant.

DSO

Just some things I'd like to see:

Glowpatch programming made easy
Minimapish type thing to show you where you are on the map without having to go into the map editor
A keep track of used items plugin

Just minor things to streamline and speed up hacking by making things easier.

zephyrtronium

From what I understand, there will be two types of plugins for SMILE: the actual all-text SPI format that Jathys created, and any executable renamed to a .spi. There's a simple developer tool for the former type that Jathys wrote, but it's very limited; most of the stuff yins are talking about would require a renamed .exe. And, because of the way the executable plugin system will work (the executable is called with the path to the ROM as the only argument), it won't be possible to interact with SMILE on any meaningful level. What's more, there's absolutely no security involved in the plugin system, so if I ever release a plugin for SMILE, it'll be fairly safe to assume that it will overwrite your ROM with a bunch of garbage. :flap:

begrimed

So far, plug-ins are pretty much limited to toggling single or multiple hex changes on/off, or inserting new bytes in place of existing ones (not unlike SMILE's "game behavior" editor window). A music editor would pretty much require writing a new program altogether and a shitload of research on how the music itself works, where everything is located and how best to 'format' all of it in an understandable way that would let people edit it without extensive hex knowledge. Much easier said than done; this is why only what, two or three people are able to edit the music as of right now? And why no music editor exists.

To a lesser degree, the same applies to the ones DSO listed; those would probably have to be disambiguated and implemented by Jathys as an actual SMILE feature or something.


P.JBoy

At the moment, anything you could do with a plug-in, you could do without a plug-in.  SMILE just launches separate program with the currently loaded ROM as a command line argument.  When the plug-in system actually comes out, it will be simple, allowing you to make simple changes
...

Cadarot

2 words

Integrated Hex-editor. (does that count as 2 or 3 words?)

P.JBoy

With selectable hex->text parsing which supports colour and what-not as actually used in Super Metroid
...

Hacker347

#9
:burn: *Hacker347 burns his brother* YAY

RealRed

Hacker347: Don't be retarded please. We try to get members to contribute to discussion rather than leave pointless posts derailing topics into unimaginable trainwrecks.

Jathys

If you're a programmer with a good knowledge of how certain pieces for Super Metroid are set up, you can do just about anything you want. The executable file can be coded in any language, and is simply renamed with an .spi extention to be accepted by SMILE. The command line already contains the path to the ROM you have opened in SMILE.  Currently, these are the only plug-ins SMILE supports.

If you're not a programmer, you need to wait for the next SMILE release (I'm aiming for around Thanksgiving). That release will contain the plug-in format I've started. A seperate "maker" program will allow anyone to create these, but they will be much more limited than an actual executable file made by a programmer. Planned for the release (for the plug-ins):
-Check boxes to allow certain changes to be toggled on/off. This could include things such as Grime's disable-walljump changes or other small asm changes.
-Text boxes to allow the user to manually type hex values (single byte or word/integer). This could include things such as physics settings.

Future versions of the plug-in format (backwards compatible) will most likely include the ability to extract/insert (decompression/compression, if necessary) and anything reasonable that is requested by someone who shows both the ability and the intent to make a plug-in that can't be made without the request . . . I will also most likely have SMILE make an external file to make various values and settings available to the executable plug-ins to allow them to be better integrated.

As for submitting plug-ins. If someone makes something useful, they may send it to me for perusal and (assuming it could actually be useful) inclusion in SOLA's webspace for download.