You will need: A copy of OrgView, obtainable at http://www.cavestory.org/downloads_music.php (Although it's called Doukutsu BGM there) Resource Hacker, obtainable at http://www.angusj.com/resourcehacker/ A hex editor such as XVI32, obtainable at http://www.chmaas.handshake.de/delphi/freeware/xvi32/xvi32.htm (Optionally, OrgBuster/Grinder, obtainable at http://thornbush.monarch-pass.net/usefulthings.html) Contents Hack It to Bits! Using Other OrgViews Advanced Hackery Hack It to Bits! First of all, if you have OrgView but it's untranslated, you should use Aeon Genesis' OV translation patch that came with the CS patch. It's likely you've thrown those both away by now, so download them again. Make sure your copy of OrgView is named "OrgView" or the patch won't recognize it. Now, open up OrgView in your hex editor. If you want to change the title bar and About text, the hex address is D200. The song names begin at 10120. Before you start editing, you may want to make a copy of OrgView; if you make a mistake and change the wrong character, the exe won't work at all. But in the text regions, you can overwrite anything that's not part of the names as long as its hex number is 00* and you leave at least one 00 between two things. Don't change the names in all-caps, though; these will be important later. (*Apparently, the translated OrgView has some characters in two song names that don't show up: a tab (09) in Quiet, and three periods in Break Down. These are also safe to overwrite.) If you have exactly 36 ORGs, that's great; but chances are you won't. If you have half that number, 18, though, you can be sneaky. Take my hack, OrgView Beta. If you open it up in the hex editor, you'll find that the song names repeat after Living Waterway. I had exactly half the number of songs in the normal OrgView, and I only know how to get rid of List 2 visually, so I had to improvise. So, if you have 18 ORGs, you can put the song titles in twice: e.g. Access and Geothermal would be changed to the same name, as would Gestation and Oppression, and so forth. This is to create the illusion it starts over from the first song after the last ends, as OrgView already does. If you have any number of ORGs besides 18 and 36, though, you will have to have empty space somewhere. (You might not have to do any of that, seeing as many revisions of OrgView have different amounts of songs. See the Using Other OrgViews section.) Now it's time to actually replace the songs. Open up Resource Hacker and load OrgView (after saving your progress in the hex editor, of course). On the left, you'll see a list which should have the folders ORG, WAVE, Bitmap, Icon, Menu, and Icon Group in that order. Expand ORG, and you should see those names in all-caps I told you not to change. Here's the list of equivalents: Access - ACCESS Gestation - VIVI Mimiga Town - MURA Plant - PLANT Balrog's Theme - GINSUKE Gravity - GRAVITY Cemetery - CEMETERY Safety - ANZEN Mischievous Robot - WANPAKU Pulse - KODOU On To Grasstown - WEED Eyes of Flame - FIREEYE Meltdown 2 - MDOWN2 Tyrant - DR Run! - ESCAPE Jenka 1 - JENKA Jenka 2 - JENKA2 Labyrinth Fight - MAZE Geothermal - GRAND Oppression - IRONH Living Waterway - MARINE Quiet - QUIET Scorching Back - WANPAK2 Moonsong - OSIDE Hero's End - REQUIEM Cave Story - CURLY Last Cave - LASTCAVE Balcony - BALCONY Charge - LASTBTL Zombie - ZONBIE Last Battle - LASTBTL3 Break Down - BREAKDOWN Running Hell - HELL Seal Chamber - BALLOS The Way Back Home - ENDING Toroko's Theme - TOROKO Go to the Action menu and select "Replace other Resource". Press "Open file with new resource" and load one of your ORGs. Three text fields will now appear in the dialog; fill the Type field with "ORG" and the Name field with the caps name of the ORG you're replacing. You can ignore the third field. Repeat for the other ORGs, and if some of your slots are empty, replace them with a null ORG like XXXX. Deleting them will prevent OrgView from advancing to the next song and ultimately looping. Now for the WAVE folder. You can ignore this one, unless your ORGs sound watered down. The real beta OrgView has a wider range of these WAVEs than the final, which is why, if you replaced an ORG with its beta equivalent, it sounds off. So download Beta OrgView (also on cavestory.org), and load it in Resource Hacker. (No, OrgMaker won't work for this. It will still sound off.) Select the WAVE folder and then select "Save [ WAVE ] Resources" from the Action menu. Type in any name and save the .rc file anywhere (but somewhere convenient); where you save it, there should be twelve .wav files and a .bin file. Open the .rc file in Notepad to find out what's what, and replace the same files in your OrgView hack. For the new WAVEs, you'll need to select "Add a new Resource" instead of Replace. It's the same process for replacing and adding: instead of ORG, put WAVE in the Type field, and put the WAVE names (BASS01, BASS02, etc.) in the Name field. Remember, you only need to do this step if your ORGs don't sound right. The Bitmap folder contains the picture in OrgView, that one the ripple effect goes over when a song plays. You can leave that there if you want, but it's easy to replace; Select "Replace Bitmap" from the Action menu, open up the Bitmap you want to use and press "Replace". If Resource Hacker gives you an error, try saving your bitmap using the GIMP. Your image must be in .bmp format, and I would make sure it's the same resolution as the one that's already there if I were you. Replacing the Icon is also optional, but it's the exact same process as the Bitmap, only you use "Replace Icon". And .ico files, of course. You can ignore the Menu folder unless you only had 18 ORGs or less, in which case you just need to erase Music List 2 by deleting the entry from the word "POPUP" to the closing curly brace. Then erase the number one on the the previous entry so it just says "Music List". Modifying XX won't do anything. The Icon Group is just a list of the icons in the program, so now you're done! Open your hack and make sure everything looks and works the way it should. If one of your ORGs doesn't play, though, don't panic: open it in your hex editor and make sure it says "Org-02". If it doesn't, just change it and re-replace it; if it does, try replacing the ORG again. If everything's perfect, then your hack is ready for prime time. Go ahead and post that bad boy in the OrgHack topic at the Cave Story Tribute Site Forums. Or if you don't want to get an account there or just made your hack for personal use, that's fine. Whatever you do with your hack, make sure you pat yourself on the back for a job well done. Using Other OrgViews Recently, a pack containing all the different revisions of OrgView was posted on the Doukutsu Uploader. (http://doukutsu.rdy.jp/stored/OrgView.zip) The biggest boon granted for hackers was the near-elimination of the need to fudge if you don't have 36 orgs. Here's the number of orgs in the different OrgViews: 1: 9 2: 12 3: 14 4: 15 5: 15 6: 2 7: 3 8: 4 81: 4 9: 6 10: 7 11: 11 12: 14 13: 16 14: 17 15: 35 16: 35 17: 36 (17 is the OrgView you'll have used following the above instructions. 5 is the Beta OrgView referred to earlier. Watch out, 13 has a rather scary picture.) Basic hacking of these OrgViews is the same as I've described (except for hex locations), but there are some key differences. For one, the beta songs have their own all-caps names. (All-caps is occasionally a misnomer, in which case you should use what the program uses.) While I didn't make an equivalents list for all the OrgViews, the names are largely the same among them. Here's an equivalents list for 5: People of the Root - LEEF White [Stone] Wall - WHITE Geothermal - GRAND Untitled - ROCKORG Iron Head - IRONH Moon - NOOM Meltdown - MDOWN Plant - PLANT Scar - REQUIEM (REQUI) Pier Walk - CAVE Living Waterway - MARINE Gravity - GRAVITY Gestation - VIVI Safety - CAMP Cave Story - CURLY Notice that in this beta, the songs are listed in opposite order of their appearance in the playlist. Some OrgViews have Wind Fortress, whose equivalent is KAZE. JENKA2 is sometimes JENKART. Advanced Hackery If you're confident in your resource-hacking wizardry, then it's time for me to share with you a little secret: You can change the all-caps names. Changing the all-caps names in the hex editor, while nearly-identical to changing the song names, will not magically change the corresponding resource name; if you attempt to play the song in OrgView, it won't work. Doing so is only half of what you'll need to do. (Just like with the song names, it's safe to have a song name that's shorter or longer than the one you're replacing as long as you only overwrite zeroes. But you can't have any spaces or odd characters.) In Resource Hacker, you do have the ability to rename resources... but, sadly, this seems not to take*. You'll have to Add a resource with the name you used in the hex editor, such as "DONKEY" or "HAMMER". Then, since the song whose name you replaced can't be accessed anymore, you can probably safely remove it to save space. (*If you don't mind getting yet another resource hacker, XN Resource Editor [http://www.wilsonc.demon.co.uk/delphi.htm] changes these with no problems. The method's a little different; expand the song's folder, right-click, properties. Resource Editor is capable of a few other things ResHack isn't, so you have nothing to lose by checking it out.) The order you do these things in doesn't seem to be important. Open the hacked OrgView after you're finished and check that the song plays. If it doesn't, double-check that there's an org listed in Resource Hacker that matches the changed name in the hex editor. For example, if you didn't listen to me about renaming, you'll most likely find the resource has somehow been named "0". You may well be wondering what the object is of doing this when the results won't be seen by the end user and it changes nothing from if you left it as is. However, changing these names gives two benefits to you if you need to do further editing. Giving the resources intuitive names will help you remember what song is in each slot without having to keep a modified equivalents list or figure out which resource the song is by menu position. Also, if you need to switch the positions of any songs, you can do so entirely in the hex editor, rather than switching the song names and then replacing the resources in Resource Hacker; the songs you need are already in there, so this saves you an unnecessary extra step. This also appears to work in Cave Story (where the song list starts at 8C838)... although you should be even more cautious and make sure you back up. I don't know how well this kind of edit plays with editors; try it at your own risk. As far as I know, you still can't add or remove songs from the actual song list yet. Thanks to S.P. Gardebiter for helping me with my hack, and you for reading this all the way through.