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

Reply
 
Thread Tools
  #1    
Old October 6th, 2011 (1:09 PM). Edited October 17th, 2011 by Spiky-Eared Pichu.
Spiky-Eared Pichu's Avatar
Spiky-Eared Pichu Spiky-Eared Pichu is offline
NDS Hacker/Researcher
     
    Join Date: Apr 2010
    Posts: 257
    Annoyed by the fact Gen. IV interiors (houses, shops and other buildings) are in 2D? Want to change that permanently and without a cheat device? If you want to do that, then this is your tutorial!

    What you need:
    • A Generation IV Pokémon game (Diamond, Pearl, Platinum, HeartGold* or Soulsilver*)
    • DSLazy or another DS ROM unpacker/packer.
    • An Hex Editor (I'll be using HexWorkshop).
    *Pokémon HeartGold and SoulSilver are unsupported at the moment. They use the same system for the 2D maps as DPPt, but they are more protected. I'll update the thread when possible.

    Preparations:

    Open your ROM with DSLazy (or the software you use with ROMs) and unpack your game to a folder.

    Instructions:

    Open the folder where you extracted the ROM. It should have two folders, "Overlay" and "Data"/"Root", as well as many .bin files. We are going to use arm9.bin to edit the 2D maps. Here's how Pokémon Diamond looks when extracted:



    Now open the file with your Hex Editor. You'll see lots of bytes. The data we want to edit starts at:
    • Pokémon Diamond and Pearl: 0xEEDC0 (or search for "70013B031200E803E803FFFF", it's the first coincidence)
    • Pokémon Platinum: 0xE6020 (or search for "910181031700E803E803FFFF", it's the first coincidence)
    • Pokémon HeartGold and SoulSilver: Unknown (not even sure if they are in arm9.bin)
    This is how it appears in Diamond (cursor at the start of the section):



    Now that you have the start of the section we want to edit, take a look at these bytes in this picture (Pokémon Diamond, shouldn't be difficult to find the same in Platinum):



    The second byte of those grups (sometimes 00, sometimes 04) is what we have to edit (adjust the view of the program to see the bytes more clearly). Those bytes tell the game which type of camera to use in each map, and for some reason GameFreak decided to employ a 2D-like camera inside the buildings during Generation IV. The maps are all 3D!!!

    So, to change the camera to the standard 3D angle used outdoors, you have to replace all the bytes that are "04" with "00". But be careful, change only that column or you'll screw up the game!!! Also, there are a lot of maps (the picture only shows the first ones), so you'll have to replace a lot of data.

    When you're done (remember to stop when the section ends, you'll know because the bytes change to random things), save the file. Repack your ROM with the software you're using, and enjoy!


    Here's a sample of the result (ignore Brendan, it's a picture from my hack), as well as a picture from Diamond showing an unmodified interior (thanks to Pokémon Wikia for it):




    If you have any problems, please post here so I can help. Also, I'll try to have HeartGold and SoulSilver available as soon as possible.
    __________________
    "Hacking has no limits. Don't try anything, DO IT!"

    Jump into DS hacking with SDSME!


    Beta 2 available!!


    Reply With Quote

    Relevant Advertising!

      #2    
    Old October 7th, 2011 (2:33 PM).
    Pingouin_7 Pingouin_7 is offline
    This account is now inactive
       
      Join Date: Oct 2008
      Age: 23
      Posts: 244
      Amazing, I'll do that on a copy of Diamond, this'll make it more interesting to play.
      Reply With Quote
        #3    
      Old October 7th, 2011 (2:42 PM).
      Lord Varion's Avatar
      Lord Varion Lord Varion is offline
      Guess who's back?
         
        Join Date: Feb 2009
        Age: 22
        Gender: Other
        Nature: Naughty
        Posts: 2,644
        It shouldn't be to hard to find for Heart Gold/ Soul Silver right?
        The Goldenrod underground uses 3-D so can't you see the hex code for that ... and do it to the rest ... |: (you can tell I don't hex much)
        __________________
        gone.
        Reply With Quote
          #4    
        Old October 7th, 2011 (3:11 PM).
        Pingouin_7 Pingouin_7 is offline
        This account is now inactive
           
          Join Date: Oct 2008
          Age: 23
          Posts: 244
          I'm wondering, though, we are supposed to stop as soon as it changes from 0004 to (I think it was 17C0), even though there are more 0004 after it?
          Reply With Quote
            #5    
          Old October 8th, 2011 (5:12 AM).
          Spiky-Eared Pichu's Avatar
          Spiky-Eared Pichu Spiky-Eared Pichu is offline
          NDS Hacker/Researcher
             
            Join Date: Apr 2010
            Posts: 257
            @Nintendork15 It doesn't matter if the Goldenrod's Unerground is in 3D, because HGSS have data structured similarly to DPPt when it comes to define camera. Even BW still follow the pattern (a bit modified, though). The only problem I have is finding the file that stores that data in HGSS.

            @Pingouin_7 If it changes to another value but it then changes again to 0004 and the rest of lines still follow a "pattern", go ahead and change more.
            __________________
            "Hacking has no limits. Don't try anything, DO IT!"

            Jump into DS hacking with SDSME!


            Beta 2 available!!


            Reply With Quote
              #6    
            Old October 8th, 2011 (11:58 AM).
            Incineroar's Avatar
            Incineroar Incineroar is offline
            the spirit of the fighter
            • Moderator
            • Platinum Tier
            • Developer
             
            Join Date: May 2009
            Location: Iki Town
            Age: 22
            Gender: Male
            Nature: Brave
            Posts: 13,394
            That's interesting. I would have never thought it would be in the arm9.bin. I'll have to incorporate it into Aqua Sapphire.
            __________________
            Reply With Quote
              #7    
            Old October 8th, 2011 (2:53 PM).
            Pingouin_7 Pingouin_7 is offline
            This account is now inactive
               
              Join Date: Oct 2008
              Age: 23
              Posts: 244
              I changed the other values to 00 and it now works everywhere. Thanks!
              Reply With Quote
                #8    
              Old October 15th, 2011 (11:08 AM).
              Link_971's Avatar
              Link_971 Link_971 is offline
              French Rom-Hacker
                 
                Join Date: Jul 2006
                Location: France
                Age: 24
                Gender: Male
                Nature: Relaxed
                Posts: 212
                Send a message via Windows Live Messenger to Link_971
                If you give your autorisation, i can implant this function in my tool.
                __________________

                Reply With Quote
                  #9    
                Old October 15th, 2011 (12:31 PM).
                Full Metal's Avatar
                Full Metal Full Metal is offline
                C(++) Developer.
                • Silver Tier
                 
                Join Date: Jan 2008
                Location: In my mind.
                Age: 21
                Gender: Male
                Nature: Timid
                Posts: 806
                Send a message via Windows Live Messenger to Full Metal
                This is a nice find and everything, but why does this work, and how did you figure it out? That could help us figure out / find the info for HG / SS, could it not?
                __________________

                ★ full metal.

                I like to push it,
                and push it,
                until my luck is over.
                Reply With Quote
                  #10    
                Old October 15th, 2011 (12:35 PM). Edited October 16th, 2011 by Spiky-Eared Pichu.
                Spiky-Eared Pichu's Avatar
                Spiky-Eared Pichu Spiky-Eared Pichu is offline
                NDS Hacker/Researcher
                   
                  Join Date: Apr 2010
                  Posts: 257
                  This works because ALL the maps in Gen. IV are 3D, there are no 2D maps. The same way there's a byte that tells the game which music to play in a map, there's one that sets the camera type.

                  If you want to help, it's better to start analyzing the RAM while playing. Comparing the bytes that change between maps and so, you'll end up finding how they are stored, so you can then look for them in the ROM. It's a bit hard to explain

                  @Link_971 Feel free to implement it. But please give me credit (although I think it's already there, as the translator).
                  __________________
                  "Hacking has no limits. Don't try anything, DO IT!"

                  Jump into DS hacking with SDSME!


                  Beta 2 available!!


                  Reply With Quote
                    #11    
                  Old October 17th, 2011 (4:47 AM).
                  Link_971's Avatar
                  Link_971 Link_971 is offline
                  French Rom-Hacker
                     
                    Join Date: Jul 2006
                    Location: France
                    Age: 24
                    Gender: Male
                    Nature: Relaxed
                    Posts: 212
                    Send a message via Windows Live Messenger to Link_971
                    Quote:
                    Originally Posted by Spiky-Eared Pichu View Post
                    @Link_971 Feel free to implement it. But please give me credit (although I think it's already there, as the translator).

                    Thanks

                    It works for me too.
                    I need to know, if we edit all 0000 by 0004 - or another value - , we can edit camera of exteriors Maps, too?

                    Also, i think other values exists (Oreburgh Gym use a 3D lowered for example).
                    If you find another camera angles, please tell me


                    (I need to know all possibilities before implanting a function).
                    __________________

                    Reply With Quote
                      #12    
                    Old October 17th, 2011 (5:29 AM).
                    Spiky-Eared Pichu's Avatar
                    Spiky-Eared Pichu Spiky-Eared Pichu is offline
                    NDS Hacker/Researcher
                       
                      Join Date: Apr 2010
                      Posts: 257
                      Yes, you can manipulate the camera at any map by this method, you just need to know what to write there (and for now I only know these values).

                      But by taking a look at all the strings and identifying each map, it'll be really easy to discover the values.
                      __________________
                      "Hacking has no limits. Don't try anything, DO IT!"

                      Jump into DS hacking with SDSME!


                      Beta 2 available!!


                      Reply With Quote
                        #13    
                      Old October 17th, 2011 (6:02 AM).
                      axlefoley's Avatar
                      axlefoley axlefoley is offline
                         
                        Join Date: Sep 2004
                        Age: 27
                        Gender:
                        Posts: 244
                        Send a message via Windows Live Messenger to axlefoley
                        i dunno if it just a case of I don't remember what the original looks like but I don't see anything different could you post a before and after picture?
                        __________________



                        Click here to feed Herman a Rare Candy!
                        Click here to feed Horrace a Rare Candy!
                        Get your own at Pokeplushies!
                        Reply With Quote
                          #14    
                        Old October 17th, 2011 (9:29 AM).
                        Link_971's Avatar
                        Link_971 Link_971 is offline
                        French Rom-Hacker
                           
                          Join Date: Jul 2006
                          Location: France
                          Age: 24
                          Gender: Male
                          Nature: Relaxed
                          Posts: 212
                          Send a message via Windows Live Messenger to Link_971
                          Quote:
                          Originally Posted by Spiky-Eared Pichu View Post
                          Yes, you can manipulate the camera at any map by this method, you just need to know what to write there (and for now I only know these values).

                          But by taking a look at all the strings and identifying each map, it'll be really easy to discover the values.


                          Ok
                          Yeah, so each value = one Map?

                          I don't really think that because they are not many values, or maybe values are regrouped for each town.


                          And... If the camera values are in arm9, i think other data of header are in arm9 too (Weather, Map music, block border). Maybe we can find interesting things!
                          __________________

                          Reply With Quote
                            #15    
                          Old October 17th, 2011 (10:59 AM).
                          Zark's Avatar
                          Zark Zark is offline
                             
                            Join Date: Mar 2008
                            Location: Spain
                            Gender:
                            Posts: 52
                            Here are some file offsets arm9.bin flight zones, which are 4 bytes.
                            First two bytes are Coordinate X and the second two bytes are Coordinate Y:

                            0xF222C: Pueblo Hojaverde (Twinleaf Town)
                            0xF223C: Pueblo Arena (Sandgem Town)
                            0xF224C: Pueblo Aromaflor (Floaroma Town)
                            0xF225C: Pueblo Sosiego (Solaceon Town)
                            0xF226C: Pueblo Caelestis (Celestic Town)
                            0xF227C: Ciudad Jubileo (Jubilife City)
                            0xF228C: Ciudad Canal (Canalave City)
                            0xF229C: Ciudad Pirita (Oreburgh City)
                            0xF22AC: Ciudad Vetusta (Eterna City)
                            0xF22BC: Ciudad Corazón (Hearthome City)
                            0xF22CC: Ciudad Pradera (Pastoria City)
                            0xF22DC: Ciudad Rocavelo (Veilstone City)
                            0xF22EC: Ciudad Marina (Sunyshore City)
                            0xF22FC: Ciudad Puntaneva (Snowpoint City)
                            0xF230C: Liga Pokémon: Sur (Pokemon League: South)
                            0xF231C: Zona de combate (Fight Area)
                            0xF232C: Zona Sobrevivir (Survival Area)
                            0xF233C: Zona Descanso (Resort Area)
                            0xF234C: Parque Compi (Pal Park)
                            0xF235C: Liga Pokémon: Norte (Pokemon League: North)
                            __________________

                            Pokémon Light Black DS
                            Reply With Quote
                              #16    
                            Old October 17th, 2011 (1:58 PM).
                            Incineroar's Avatar
                            Incineroar Incineroar is offline
                            the spirit of the fighter
                            • Moderator
                            • Platinum Tier
                            • Developer
                             
                            Join Date: May 2009
                            Location: Iki Town
                            Age: 22
                            Gender: Male
                            Nature: Brave
                            Posts: 13,394
                            This can be of some help.

                            Quote:
                            6. Motion3D

                            Code:
                            Code:
                            94000130 FDFF0000
                            DA000000 02000002
                            B21C4D28 00000000
                            B0000004 00000000
                            D7000000 0000150E
                            DC000000 FFFFFFFE
                            94000130 FFF70000
                            DA000000 00112F56
                            D3000000 00000000
                            D7000000 02000002
                            D2000000 00000000
                            -For Pkmn D/P only


                            Simply type in your Poktéch calculator the number of your desired camera perspective and press L + Start to save the number in the memory. Then hold L while going into a house (or getting out of it) for using that number.

                            :: Camera perspectives

                            00 - Basic 3D
                            04 - Basic 2D
                            05 - 3D Like on Spear Pillar
                            08 - 3D Camera high placed, like on Stark Mountain
                            09 - 3D Better sight, like in the Eterna City arena
                            14 - 3D Little dwarfs in a world of giants, like in Hall of Origin
                            I remember using this code and having a lot of fun with it. I think it modifies the arm9 in the RAM on the fly.
                            __________________
                            Reply With Quote
                              #17    
                            Old October 18th, 2011 (8:00 AM).
                            Spiky-Eared Pichu's Avatar
                            Spiky-Eared Pichu Spiky-Eared Pichu is offline
                            NDS Hacker/Researcher
                               
                              Join Date: Apr 2010
                              Posts: 257
                              @Team Fail Well, if the 00 and 04 values match what I teach in this tutorial, then this means the values from that cheat will probably work.
                              __________________
                              "Hacking has no limits. Don't try anything, DO IT!"

                              Jump into DS hacking with SDSME!


                              Beta 2 available!!


                              Reply With Quote
                                #18    
                              Old October 18th, 2011 (1:25 PM).
                              Zark's Avatar
                              Zark Zark is offline
                                 
                                Join Date: Mar 2008
                                Location: Spain
                                Gender:
                                Posts: 52
                                Here I show you pictures of how they would be changing the bytes from 00 to 0F:

                                00


                                01


                                02


                                03


                                04


                                05


                                06


                                07


                                08


                                09


                                0A


                                0B


                                0C


                                0D


                                0E


                                0F
                                __________________

                                Pokémon Light Black DS
                                Reply With Quote
                                  #19    
                                Old October 18th, 2011 (1:48 PM).
                                Incineroar's Avatar
                                Incineroar Incineroar is offline
                                the spirit of the fighter
                                • Moderator
                                • Platinum Tier
                                • Developer
                                 
                                Join Date: May 2009
                                Location: Iki Town
                                Age: 22
                                Gender: Male
                                Nature: Brave
                                Posts: 13,394
                                Quote:
                                Originally Posted by Zark View Post
                                stuff
                                What happens after 0F? Like 11, 15 or 1A?
                                __________________
                                Reply With Quote
                                  #20    
                                Old October 18th, 2011 (2:07 PM).
                                Zark's Avatar
                                Zark Zark is offline
                                   
                                  Join Date: Mar 2008
                                  Location: Spain
                                  Gender:
                                  Posts: 52
                                  Quote:
                                  Originally Posted by Team Fail View Post
                                  What happens after 0F? Like 11, 15 or 1A?
                                  They are not useful for 10 and up and coming out in black.
                                  __________________

                                  Pokémon Light Black DS
                                  Reply With Quote
                                    #21    
                                  Old October 18th, 2011 (2:48 PM).
                                  Link_971's Avatar
                                  Link_971 Link_971 is offline
                                  French Rom-Hacker
                                     
                                    Join Date: Jul 2006
                                    Location: France
                                    Age: 24
                                    Gender: Male
                                    Nature: Relaxed
                                    Posts: 212
                                    Send a message via Windows Live Messenger to Link_971
                                    So, we have all results, thanks!
                                    And i will check soon for the flight zones too.
                                    __________________

                                    Reply With Quote
                                      #22    
                                    Old October 18th, 2011 (2:51 PM). Edited October 18th, 2011 by Incineroar.
                                    Incineroar's Avatar
                                    Incineroar Incineroar is offline
                                    the spirit of the fighter
                                    • Moderator
                                    • Platinum Tier
                                    • Developer
                                     
                                    Join Date: May 2009
                                    Location: Iki Town
                                    Age: 22
                                    Gender: Male
                                    Nature: Brave
                                    Posts: 13,394
                                    Quote:
                                    Originally Posted by Zark View Post
                                    They are not useful for 10 and up and coming out in black.
                                    I know there was one, that if you set it on the Poketch, it would show a distant skyline shot. It's completely unused, but it looked really cool. I'll try to get that value. I think it was 18 on the Poketch if memory serves correct. Another one I remember had the map so small it was just a colored pixel on the screen.

                                    EDIT: It's 16. I'll get a pic later.
                                    __________________
                                    Reply With Quote
                                      #23    
                                    Old October 18th, 2011 (5:12 PM).
                                    Rainbow's Avatar
                                    Rainbow Rainbow is online now
                                    i never want to leave this sunset town
                                    • Moderator
                                    • Platinum Tier
                                    • PokéCommunity Daily
                                    • Discord Moderoid
                                    • Developer
                                     
                                    Join Date: May 2010
                                    Location: The Medium
                                    Age: 18
                                    Gender: Female
                                    Nature: Quirky
                                    Posts: 4,994
                                    Quote:
                                    Originally Posted by Zark View Post
                                    I think this one is the best. It's not completely birds-eye-view, unlike traditional Pokemon games, but its really cool. It'd be neat if there was a hack like that.
                                    Reply With Quote
                                      #24    
                                    Old October 18th, 2011 (5:28 PM).
                                    Incineroar's Avatar
                                    Incineroar Incineroar is offline
                                    the spirit of the fighter
                                    • Moderator
                                    • Platinum Tier
                                    • Developer
                                     
                                    Join Date: May 2009
                                    Location: Iki Town
                                    Age: 22
                                    Gender: Male
                                    Nature: Brave
                                    Posts: 13,394
                                    Quote:
                                    Originally Posted by HackDeoxys View Post
                                    I think this one is the best. It's not completely birds-eye-view, unlike traditional Pokemon games, but its really cool. It'd be neat if there was a hack like that.
                                    There's actually a small glitch with that angle. Go to Solaceon Town and walk around there. You'll see sprites disappear and reappear when you leave/enter the town's area.

                                    And attached is that special unused camera angle. I apologize for the blurriness- I took it on my DS Lite and used a crappy camera.
                                    Attached Images
                                    File Type: jpg HPIM1691.jpg‎ (325.8 KB, 60 views) (Save to Dropbox)
                                    __________________
                                    Reply With Quote
                                      #25    
                                    Old October 18th, 2011 (6:10 PM).
                                    Full Metal's Avatar
                                    Full Metal Full Metal is offline
                                    C(++) Developer.
                                    • Silver Tier
                                     
                                    Join Date: Jan 2008
                                    Location: In my mind.
                                    Age: 21
                                    Gender: Male
                                    Nature: Timid
                                    Posts: 806
                                    Send a message via Windows Live Messenger to Full Metal
                                    You know what this smells like to me?
                                    I would bet that there is an array / table of a structure containing x/y/z co-ordinates that are relative to the player for the camera. Perhaps somebody with a NDS debugger, and a ROM could set a break on read for one of these values and test? Then we could make our own. (:
                                    __________________

                                    ★ full metal.

                                    I like to push it,
                                    and push it,
                                    until my luck is over.
                                    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 9:34 PM.