The PokéCommunity Forums Fan Games ROM Hacking Tools, Tutorials & Resources
Tutorial Add new overworlds to fire red

Tools, Tutorials & Resources Various tools to help you develop your hacks can be found here.

Reply
 
Thread Tools
  #1    
Old September 14th, 2009 (12:58 AM). Edited April 15th, 2010 by Logan.
mozzer0734's Avatar
mozzer0734 mozzer0734 is offline
     
    Join Date: Sep 2008
    Location: England
    Gender: Male
    Posts: 11
    First of all thank you to Poliwag, Darthatron and Jpan as their information and tutorials are the basis for this one.

    This tutorial will show you how to add new overworld sprites to fire red without deleting old ones. This will also allow you to edit those sprites in AMAP and OWE.

    I have written this tutorial as I had tried the other tutorials on this subject but could never get it work, so after much messing about I have found this the easiest way to do it.



    Spoiler:

    1) First we need to open are rom in a hex editor and go to offset 3A3BB0. From this location we need to copy 5544 bytes of data.

    2) Now we need to work out how much space we need. Decide how many extra sprites you want and multiply that by 36 add 5544 and that’s how much space we need. I will add 5 sprites so that would be (5 x 36 = 180) + 5544 = 5724. Right so I’m searching for 5724 bytes of free space, when you find the offset you will use make a note of it as SPRITE DATA, I will use 71A8B8. Now go to this location and paste the data we copied. Now save.

    3) At the end of this block of data we must enter the new sprite data. Go to offset 71BB24 and copy 36 bytes of data paste this at the end of the previous data. Make a note of the offset where this first bit of new data goes as NEW SPRITE. Mine is 71BE60.

    image 1.png

    4) We now need to change the pointer for the frame data to a space of at least 72 bytes per sprite. I will use 800000. So change the pointer B0233A08 to the one you are using.

    image 2.png

    5) Repeat steps 3 & 4 for each new sprite. Adding the data to the end of the previous sprite, now save.

    6) Now that’s done we must enter the data for each frame. So go to the first of the pointers you just changed, mine is 800000.

    7) We need to find even more free space, 1800 bytes per sprite in fact. When you have found your offset enter the data like so. I will be using 810000 so my data will be <00 00 81 08>< 00 02 00 00>. Repeat this 8 times adding C8 to the pointer each time using a hex calculator.

    image 3.png

    8) Repeat this for each sprite.

    9) Once you have added all the sprites you want we need to get them working in AMAP and of course the rom.


    10) Go to the offset 39FDB0 and copy 696 bytes, to find how much space you need multiply the amount of new sprites by 4 and add 696, mine is (5 x 4 = 20) + 696 = 716. So I am searching for 716 bytes.

    11) When you find the offset you need make a note of it as SPRITE TABLE, I will use 840000.

    12) Paste the data we copied to this new offset. At the end of the data we have to point to are new sprites, so starting with mine at 71BE60 I would use the pointer 60BE7108. Continue this until you have pointed to all of the new sprites in order.

    image 4.png


    14) For the last bit of hex editing all you have to do is go to the offset 05F2F4 and change that pointer to the one you used for the SPRITE TABLE so I will change mine to 00008408. Then finally go to 05F2E0 and change the number 9729 to EF29.

    15) To edit the sprites in OWE you must open the .ini file locate the fire red info and alter the data. Where it asks for the sprite bank use your SPRITE DATA offset and for amount simply add how many new sprites you’ve inserted.

    image 5.png

    All that is left to do is edit your sprites in OWE and insert them in ADVANCE MAP.
    You can use the older OWE to insert all the sprites so you can change frame.

    To change the palette change the 4th byte of are sprite data, to change the dimensions of the sprite change the data at the 5th and 7th byte of data. Do not make them bigger than 32x32 or they won’t work.

    Reply With Quote

    Relevant Advertising!

      #2    
    Old September 19th, 2009 (6:36 AM).
    master morty's Avatar
    master morty master morty is offline
    Master Spriter
       
      Join Date: May 2008
      Location: The world I created yesterday
      Gender:
      Nature: Mild
      Posts: 93
      This is a good tutorial. It would be nice if you would make one for r/s/e too. but thanks for posting this.
      __________________
      Reply With Quote
        #3    
      Old September 20th, 2009 (9:41 AM). Edited September 22nd, 2009 by Jambo51.
      Jambo51's Avatar
      Jambo51 Jambo51 is offline
      Glory To Arstotzka
         
        Join Date: Jun 2009
        Gender: Male
        Nature: Quiet
        Posts: 732
        I dunno if i followed it wrong, but if I try to use the sprite in game, the game glitches up.

        It doesnt crash. but it turns the rest of the sprites on the map temporarily into black and white lines.

        EDIT 1: No worries, I backed up my rom, so I can always have another go!
        Everything else in the tutorial worked, so I probably made a mistake. :D

        EDIT 2: It works with Overworld Editor. Yay. Now to get it working with advance map so I can get it working in the rom.
        __________________
        Hey guys, please check out my recreations of the gen 1 and 2 music on my custom engine at my SoundCloud! - Here!
        Reply With Quote
          #4    
        Old September 20th, 2009 (12:57 PM).
        mozzer0734's Avatar
        mozzer0734 mozzer0734 is offline
           
          Join Date: Sep 2008
          Location: England
          Gender: Male
          Posts: 11
          Sorry I have never had that happen so I cant be of much help there, all I can suggest is to check you have not missed anything.
          Reply With Quote
            #5    
          Old February 6th, 2010 (7:23 PM).
          HackChu's Avatar
          HackChu HackChu is offline
          I need a haircut...
          • Silver Tier
           
          Join Date: Jan 2007
          Location: Bankrupt Amerika
          Age: 24
          Gender: Male
          Nature: Modest
          Posts: 673
          Wow Im going to check this out, I hope it works out well
          __________________
          Join us!

          My 'learning how to combine battle scripts' thread:
          http://www.pokecommunity.com/showthread.php?t=183001

          SoulSilver FC:1162 1864 5409
          Name: Ethan

          Black FC: 2666 1354 4379
          Name: Ashton

          White 2 FC: 1120 8065 3049
          Name: Nate

          3DS Friend Code: 1349-4646-2412
          Name: tysonrss
          Reply With Quote
            #6    
          Old March 19th, 2010 (9:34 AM).
          mozzer0734's Avatar
          mozzer0734 mozzer0734 is offline
             
            Join Date: Sep 2008
            Location: England
            Gender: Male
            Posts: 11
            I have not been here for some time now, so to mark my return I finaly typed up my tutorial to the first post for easy reading.
            __________________
            Reply With Quote
              #7    
            Old March 19th, 2010 (9:51 AM).
            Pokepal17's Avatar
            Pokepal17 Pokepal17 is offline
            More cowbell~
            • Silver Tier
             
            Join Date: Oct 2008
            Location: Steeltown
            Age: 22
            Gender: Male
            Nature: Modest
            Posts: 1,511
            Have you checked if the added OW show up in VBA?

            Well, they won't because you need ASM to make newly add OWs display properly because every sprite between number 151 and 240 is "special". They will not display correctly, so this tutorial will add the sprites, but they won't display properly. :3
            __________________
            Pokémon Stardrop
            Reply With Quote
              #8    
            Old March 19th, 2010 (10:00 AM).
            mozzer0734's Avatar
            mozzer0734 mozzer0734 is offline
               
              Join Date: Sep 2008
              Location: England
              Gender: Male
              Posts: 11
              Yes I have tried it and yes they do show up in game. The special sprites are still in place and the new sprites are located after these.
              __________________
              Reply With Quote
                #9    
              Old March 19th, 2010 (10:09 AM).
              Pokepal17's Avatar
              Pokepal17 Pokepal17 is offline
              More cowbell~
              • Silver Tier
               
              Join Date: Oct 2008
              Location: Steeltown
              Age: 22
              Gender: Male
              Nature: Modest
              Posts: 1,511
              Quote:
              Originally Posted by mozzer0734 View Post
              Yes I have tried it and yes they do show up in game. The special sprites are still in place and the new sprites are located after these.
              Well, it means that only 14/15 new ones can be added, but it's great to see it's possible without ASM then.

              Also added sprites will work if they're bigger than 32x32, as long as you give them the unknown pointers 1 and 2 that correspond the the size.
              __________________
              Pokémon Stardrop
              Reply With Quote
                #10    
              Old March 19th, 2010 (10:14 AM).
              mozzer0734's Avatar
              mozzer0734 mozzer0734 is offline
                 
                Join Date: Sep 2008
                Location: England
                Gender: Male
                Posts: 11
                I cant be sure of the exact amount of new ones to add, although Metallimaniac has created a patch using this method and has added 40 ows each with 9 frames of animation, so I know you can add quite a few. If anyone does reach the magic number let me know and ill add it to the first post.
                __________________
                Reply With Quote
                  #11    
                Old March 22nd, 2010 (4:01 AM).
                Pokepal17's Avatar
                Pokepal17 Pokepal17 is offline
                More cowbell~
                • Silver Tier
                 
                Join Date: Oct 2008
                Location: Steeltown
                Age: 22
                Gender: Male
                Nature: Modest
                Posts: 1,511
                Quote:
                Originally Posted by mozzer0734 View Post
                I cant be sure of the exact amount of new ones to add, although Metallimaniac has created a patch using this method and has added 40 ows each with 9 frames of animation, so I know you can add quite a few. If anyone does reach the magic number let me know and ill add it to the first post.
                What he did wasn't right because HackMew told me that 0 - 151 are normal OWs, 152 - 240 and "special OWs" and 241 - 255 are normal OWs, because the byte that determines the OW amount is only 1 byte (so you can have from 0 - FF, meaning 0 - 255, which is 256 altogether). Therefore only 15 new OWs can be added.
                __________________
                Pokémon Stardrop
                Reply With Quote
                  #12    
                Old March 22nd, 2010 (7:06 AM).
                mozzer0734's Avatar
                mozzer0734 mozzer0734 is offline
                   
                  Join Date: Sep 2008
                  Location: England
                  Gender: Male
                  Posts: 11
                  Quote:
                  Originally Posted by Pokepal17 View Post
                  What he did wasn't right because HackMew told me that 0 - 151 are normal OWs, 152 - 240 and "special OWs" and 241 - 255 are normal OWs, because the byte that determines the OW amount is only 1 byte (so you can have from 0 - FF, meaning 0 - 255, which is 256 altogether). Therefore only 15 new OWs can be added.
                  Yea after looking into it a bit more I can see you are rite, of course you coluld overwrite the special OWs between 152-240, as far as i know these are only used in the union room so if you dont use that in your hack you should be fine. Of course I could be wrong.
                  __________________
                  Reply With Quote
                    #13    
                  Old May 29th, 2014 (8:31 AM).
                  RLT RLT is offline
                     
                    Join Date: May 2014
                    Gender: Male
                    Posts: 4
                    I don't understand the step 4 "change the pointer B0233A08 to the one you are using", but what pointer I'm using, I don't know.
                    Reply With Quote
                    Reply
                    Quick Reply

                    Sponsored Links
                    Thread Tools

                    Posting Rules
                    You may not post new threads
                    You may not post replies
                    You may not post attachments
                    You may not edit your posts

                    BB code is On
                    Smilies are On
                    [IMG] code is On
                    HTML code is Off

                    Forum Jump


                    All times are GMT -8. The time now is 11:34 PM.