Thread: [Tutorial] zel's Home-made Tutorials
View Single Post
Old April 11th, 2007 (11:37 PM). Edited May 10th, 2007 by zel 2.0.
zel 2.0's Avatar
zel 2.0 zel 2.0 is offline
Gold Remaker
    Join Date: Jun 2006
    Location: Argentina
    Age: 30
    Gender: Male
    Nature: Quiet
    Posts: 1,959
    Hi everyone! I'm starting this thread that will contain all my self-made guides I write while I'm hacking (usually for guiding myself at first, but perhaps some can be of any use to you)
    Oh, and I also didn't want to start a thread for a every little thing, so I'm concentrating all the info in this thread. Don't worry, you know me, so I'll keep updating my first post. I'll use an index, so if I post a new guide I'll add a link to the post in the index.

    By the way, if you would like to make suggestions for some other tutorial I could write, then go ahead, as long as: I have some time, I feel inspired and there's no other tutorial for that already.
    Ah... Don't confuse this thread with the Simple Questions thread, only suggestions, questions related to the stuff I wrote, or fixes are accepted

    Also, mods have my permission to lock this thread if it starts to get spammy. Neither Scizz or I like to see spammy threads. After all, if it gets locked, as soon as I have a new guide to write I'll reopen it.

    OK... Now let's get started...!

    The Index

    Changing Graphics

    Changing the Big Sprites at the Oak Intro (This Post!)
    Changing the Battle Backsprites (This Post!)
    Changing the Palettes of Anything Post #19


    As of now, I don't see a need for a guide... Christos and Irish Witch already are covering that quite well.


    Trading Pokes (This Post!)
    Changing the TMs Post #19


    Hmmm... If it doesn't go with any other, it just goes to "Others". But, so far, I don't see anything relevant.


    Changing Graphics - Changing the Big Sprites at the Oak Intro

    OK, First thing, make a backup of your rom...

    After that, we open the UNLZ-GBA (included in the EliteMap package), and we open the rom. Now we need to find the sprites we want to modify (for this guide, the "big" sprites of the heroes, rival and Oak). However, we also need to select the option "256 Color Mode". Basically, in FR, the graphics are located at 339: Heroine, 340: Hero, 341: Oak, 342: Rival (But, keep in mind that they may not be exactly there, they may be close, so don't forget about the "Next" and "Previous" buttons to find them. They should be close to those values)

    Once we find it, we should also select the option "Use Black/White" and work with the Black and White tones, but you could stick with one of the palettes UNLZ-GBA has. But if you want to skip some indexing problems, I suggest you using the B&W option.

    Fig1. We found our sprite, don't forget to select the "256 Color Mode", and if you want, the "Use Black/White" option

    Once we have a palette, or the B&W option, we hit "Save as...", and now we need our friendly Images Editor. I use Paint Shop Pro, but you can use whatever. For now, close the UNLZ-GBA, we will go back in a while.

    Now we open the recently saved image, and we also open the rom in the emulator. That way we will determine the color equivalencies. It may be a little hard working on the B&W, so pay close attention to the values that your images editor say. Once we have learned the color equivalencies, we have to modify our image to be inserted in a way that it uses the B&W colors, but once it is inserted, the image will have the colors used in the emu.

    With a little patience and practice, you will be able to modify your images colors. Once we finish, just copy the image, and paste it over the image we saved from UNLZ-GBA. Make sure the colors remain unchanged. Now we will save this image (bmp is preferred)

    Fig2. Learning the color equivalencies

    Fig3. Changing my sprite to respect the B&W palette, but knowing that once inserted, the image will have the colors I want

    It's time to go back to UNLZ-GBA, we need to research for our sprite to be overwritten (once again, with the 256 Color Mode, and if we used it, the B&W option), this time we hit "Import", and we change the format to "all files", so we will be able to find our bmp. Our image should replace the old one. All we have to do is to select "Write to Rom", and it's preferred to avoid touching any other option in the next window, hit OK, and hope your image is not "too big" to be inserted.

    Fig4. Your image inserted in UNLZ-GBA, just hit "Write to Rom"

    Fig5. Just hit OK without changing anything, but... it may fail...

    In case it fails...

    We will need to open an hex-editor, and we will have to search for free space (a place with A LOT of "FF"), the hex-editor should say somewhere an address (offset), which is an Hex-Value, where free space begins. So let's go back to the UNLZ, and we unselect the "Auto Abort" option, and we write that Hex-Value in the Image Offset, then we hit OK, and the image will get inserted without any kind of problems (OF COURSE, IF YOU ARE NOT CONSCIOUS OF WHAT YOU ARE DOING WHEN DEALING WITH OFFSETS, YOU MAY BREAK YOUR ROM, SO BE EXTREMELY CAREFUL!)
    And that's the last step, hopefully you will not need this extra last step.

    All we have to do is seeing the results. Of course, results can be improved with Palette Changes, and a lot of practice. There's a lot of people that do this sprite changing stuff better than me...

    Fig6. The results!


    Changing Graphics - Changing the Battle Backsprites

    OK, even though some of you may use TLP to do this, I feel more comfortable with Tile Molester (however, I also have all that Java stuff involved, if you want to follow this guide, you'll have to figure out how to install the Java stuff. Anyway, I'll try to update the guide if it's needed)

    First thing, as always, is to make a backup of your rom.

    Now, let's open Tile Molester (the file tm.jar), and then we go to File->Open. We search for our rom to be modified, and after that the content of the rom shows up, along with all the options of Tile Molester.

    Fig1. Tile Molester with a rom loaded

    Now, we need to know what we want to modify. Once we know it, all we have to do is finding the location (the offset) of the sprites we want to modify. Since the guide (that works for FR, but with the correct offsets also would work for the other versions) only is dedicated to change the battle backpicks of the heroes, we only need that info. Anyway, the offset we are looking for is: E69F00 (Fire Red). With this info, all you have to do is go to Navigate->Goto, and we write that offset, making sure that "Hex" is selected.

    Fig2. Go to E69F00, we find our trainer, but wtf happened to him?

    Once we are in E69F00, we will notice the graphics a little messed up, first step to fix them is go to View->Blocksize->Custom, and writing an 8 in both Columns and Rows. After that, it's convenient to choose View->Blockgrid, so we can align the graphics (see Fig3). Finally, all we have to do is use the "divide", "plus", "less" and "big" (sorry if I made an English mistake) buttons to align it better (see Fig4)

    Fig3. Better, but you need to use those 4 buttons to make it even better

    Fig4. Now that's perfect, ain't it?

    Whenever you want to go up or down, I suggest you using the arrows in your keyboard (you may need to press the arrows a few times so that the images align in the grids again)

    The next step is working with the palettes Tile Molester already has loaded, what we need to do is learning the color equivalence between the palettes in the emu, and the palettes in Tile Molester (open the rom in your emu, and start comparing, as in Fig5). Once we learned the equivalencies, we need to take the image (loaded in an Images Editor, such as Paint) we want to insert, and modify its colors so that it uses the colors in the Palette in Tile Molester, but when we play it on the emulator it would have the colors we want it to have (this is the hard part of it, so patience and practice) Just remember one thing... The Canvas size set it to 64x64 pixels!

    Fig5. Comparing an learning the color equivalencies

    Fig6. The graphics are ready to be inserted, and they respect the colors in Tile Molester, so when I insert them, they will look as I want in the emu

    The images look a bit creepy, don't they? Anyway, we just save every image as a png or bmp file, and we go back to Tile Molester, then we go to Edit->PasteFrom and we choose one of our modified images, then we just move it over the back we want to overwrite (right click after doing so)

    Fig7. The inserted image overwriting the old back

    And that concludes this tutorial... Of course, if we combine it with palette changing tutorials, the results can be improved a lot... You'd just need to find the sprite's palette, but... That's not something to be covered by this tutorial, so go look for it yourself... XD

    Fig8. The final result!


    Hex Editing - Trading Pokes

    First you need to hex-search for the name of the poke we receive in the trade originally (for example, in FR, we receive a "MIMIEN")

    Fig1. Searching for MIMIEN with Thingy

    Once you find it, we will notice the name followed by "FF" and then a bunch of "00" (which means free space for the name). Now you can change the name of the poke we'll receive with hex, as long as you respect that the name must still be finished with the "FF" (and at least make sure to leave a "00" as well, just in case)
    After that free space comes inmediately XXXX, which should be the value of the ID of the poke we will get (as always it's swapped hex, so Bulbasaur which is 0001 becomes 0100) So just find the ID of the new poke, change it to hex (with Windows Calculator on Scientific Mode), and then swap it as I did in my example.
    Next is seeing where the next recognizable name starts (in my MIMIEN case, there's a "REYLEY" close to it), that name is the name of the trainer, so to change it, you must do exactly the same as when you changed the poke's name.
    After the trainer's name, and free space comes a "0A" (which most likely will be other thing), and after that comes another XXXX, which is the ID of the poke the trainer wants, once again it's swapped-hex, so do it the same way as before to change it.

    And, you can even modify the hold item of the poke we'll receive (don't start putting Master Balls! ), to modify it just: look at the trainer's name again, then start going backwards, and we'll see either a "00" or "FF", and right after it (still going backwards), you'll find another XXXX, which is the ID of the Hold Item (and as you can imagine, it's swapped-hex, so you know how to modify it)

    Fig2. All the info is close to MIMIEN. 1= MIMIEN, 2= Free Space as FF and then a bunch of 00, 3= Poke we will get in swapped hex, 4= MIMIEN's owner name, 5= Free Space again, 6= Poke we must have in swapped hex, 7= The hold item, to the left of the owner's name