Tutorial updated on June 6th, 2010!
The old Classic Piranha Plant Fix patches don't seem to be in the Patches section anymore, so I'll assume they were removed. It also seems that there's a way to avoid the once-necessary hex edits, so this tutorial has undergone some large changes.
This is a tutorial on how to repair the graphics and implement the Classic Piranha Plant sprite in any level of your hack. This is something I struggled with for months, but I managed to figure everything out. I do not want anyone else to go through what I did, so I'm laying this out in plain English for anyone who needs it.
What you will need:
1. Lunar Magic
2. A Super Mario World ROM, clean or otherwise
3. Xkas GUI (found in the Tools section)
4. YY-CHR (also found in the Tools section, right near the bottom)
5. The Piranha Plant Fix Patch Fix patch (PPFPF), found in the Patches section
6. ZSNES (Tools section)
1a. Listen carefully. The first thing you need to do is open your ROM in Lunar Magic, go up to the Toolbar at the top, and click the red mushroom that says Extract GFX from ROM... when the cursor is placed over it. This will create a folder labelled GFX in the same directory as your ROM.
1b. Next, run your ROM in ZSNES and make a savestate (hit Esc. during play and select Save State). The .zst file will be saved in the same place as your ROM.
1c. Next, unpack the files that come with YY-CHR. Click on the file labelled yychr.ENG and rename it to match your computer's current language settings. Most people will use yychr.ENU (for American English), but a few will use .ENC (Canadian English). There is a text file that comes with YY-CHR which lists the various language tags. These tags need to be set, or else you won't be able to read anything in YY-CHR.
2a. Now, make a back-up copy of your ROM and make a new folder called ASM (or whatever you want to call it). Put your ROM, the PPFPF, and Xkas GUI in there. Double-click the patch, and a window in Notepad should open. There are two small changes we need to make to the patch, and the below image will guide you.
Why did we just change those values? Well, to put it simply, the Piranha Plant's stem has been accessing the wrong graphics page, and changing and applying this patch corrects this.
(Thanks to Koops for the image and imjake9 for pointing this out to me.)
2b. Now, open Xkas GUI and select your ROM and the patch in the appropriate fields. Then, go to Tools and select Set Freespace, or else the patch won't work. Note that Freespace can only be set if your ROM has been run and saved at least once in Lunar Magic. Finally, click Insert to patch the ROM!
2c. Re-open your ROM in Lunar Magic, go to a level of your choice, and place a Classic Piranha Plant somewhere (it doesn't matter where). Run the ROM in ZSNES and go to the level with your Piranha Plant in it. If you've followed my instructions thus far, then the stem for the plant should have changed. It doesn't look like a stem, yet, so we're not quite done.
3a. The last thing we need to do is open YY-CHR and go to the GFX file we created at the beginning of this whole process. You should see a file labelled AllGFX.bin (if you don't, re-open your ROM in Lunar Magic, go to the Options dialogue and click Use Joined GFX files. Then, use the red mushroom to re-extract the graphics).
3b. Once AllGFX.bin is opened, go to Palettes>Load Emulator State File... and select the .zst file in the same directory as your ROM. Finally, go to where it says 2BPP NES and scroll down the menu until you find 4BPP SNES. Now, the graphics in the large left window should look about right. Very near the top of the list, close to the 'Nintendo Presents' symbol, is a Piranha Plant head with a fish stem. Look familiar? Right click the stem (and ONLY the stem) and select Edit>Cut. Now, scroll down the graphics list a bit until you see a piece of vine tile (it is in the right-most column, a few screens below the stem we just deleted). Copy this tile to the clipboard, then return to the Piranha Plant sprite and paste the vine where the fish had been. Save and exit YY-CHR.
4. Finally, open the ROM in Lunar Magic and click on the green mushroom tool that says 'Insert GFX to ROM'. Congratulations, you're done! Run the ROM with your emulator to make sure that the stem looks correct. Be aware that the stem will NEVER look right in Lunar Magic; only during play will it show up right.
You should know that, now that the graphics and patch have been applied, Upside-down Piranha Plants can now be used in any level, too. That's quite a profit, if I do say so.
If anything went wrong during the process, double back and make sure you followed every step. Always keep a back-up copy of your ROM in case you make a mistake or something glitches up. Otherwise, this should have worked, and you can now enjoy the amazing sprite that Nintendo neglected to finish. Good work!