• Our software update is now concluded. You will need to reset your password to log in. In order to do this, you will have to click "Log in" in the top right corner and then "Forgot your password?".
  • Welcome to PokéCommunity! Register now and join one of the best fan communities on the 'net to talk Pokémon and more! We are not affiliated with The Pokémon Company or Nintendo.

Pokemon D/P - Changing EVERY aspect of a Pokemon

22
Posts
15
Years
    • Seen Nov 1, 2020
    Pokemon D/P - Changing EVERY aspect of a Pokemon
    aka inserting a fakemon/5th gen pokemon into D/P seemlessly

    by Stratocaster

    ... leave no trace.

    Hey I'm Strat, new to posting in this community, but far from new to forums, pokemon, rom hacking, etc. I like this forum though best and I didn't exactly have a home forum so I wanted to post my guide here. This guide encompasses all my research into how to insert a fakemon into D/P without even being able to tell what pokemon was replaced. I think I've succeeded in that goal. Sorry there are no pictures or anything. I didn't link to how to get the software either, but some googling can solve that easily. I hope someone will take what I've learned and run with it... I'd love to see this community collaborate on a fakemon project or even just some new tools made that make what I'm showing is doable and making it more streamlined. Anyway without further to do. The first section is not "spoiler tagged" cause it's important to know about that for the rest of the guide to make sense. Anyway, I hope you enjoy and learn a lot! I put lots of time and effort into making this possible.

    Extracting and Reinserting Narcs

    I say suggest in this guide to use extract and reinsert narcs. There are two methods for this. The 'reinsert' button on NitroExplorer2b or unpacking the ROM completely in dsbuff. The former is easier for the short-term, but has been found to sometimes not work as expected... the latter is better for long-term projects because all the narcs are already extracted and you just have to replace the narc in the folder. It has also been the more reliable option, typically giving the expected results. Feel free to try both, but that's my opinion. I still often use the Nitro Explorer method for reinserting my sprites and there are merits to both methods which are why they're both listed.


    ~Sprites~

    Spoiler:


    ~Palettes~

    Spoiler:


    ~Base Stats, level-up, evolutions, etc.~

    Spoiler:


    ~Changing the number of level-up moves:~

    Spoiler:


    ~Pokemon Icons~

    Spoiler:


    ~Pokemon Icons Palettes~
    (thanks to 2and2makes5)

    Spoiler:


    ~Overworld Sprites~
    (for HG/SS, thanks to 2and2makes5)

    Spoiler:


    ~Pokemon Cries~

    Spoiler:


    ~4th Gen Cry #'s~

    Spoiler:

    ~Pokemon Names~

    Spoiler:


    ~Pokedex~

    Spoiler:


    ~Pokemon Egg Moves~

    Spoiler:


    ~Pokemon Eggmove ID's~
    (only those which can hatch from an egg have an ID)

    Spoiler:

    ~Pokemon Animations~

    Spoiler:


    ~Pokemon Animation offsets~

    Spoiler:

    ~Battle Scene Sprite Placement

    Spoiler:

    ~Credits~

    Spoiler:


    ~Index of status of progress~

    Spoiler:


    ~Why did I do this?~

    Spoiler:


    :) have fun!!
     
    Last edited:

    Spiky-Eared Pichu

    NDS Hacker/Researcher
    257
    Posts
    14
    Years
    • Seen Oct 2, 2019
    This tutorial is awesome!!! Good job explaining how to do it, the instructions are very clear. Now, if we knew how to edit the battle music asigned to a Pokémon...

    Oh, and you should write in the cry section that if the cry is bigger, you can try to reduce a bit the sample rate and convert it again. It will sound better than cutting it :)
     
    22
    Posts
    15
    Years
    • Seen Nov 1, 2020
    This tutorial is awesome!!! Good job explaining how to do it, the instructions are very clear. Now, if we knew how to edit the battle music asigned to a Pokémon...

    Oh, and you should write in the cry section that if the cry is bigger, you can try to reduce a bit the sample rate and convert it again. It will sound better than cutting it :)

    Thanks I'm glad you like it.

    I'm pretty sure the battle music assigned to a pokemon is a scripting thing that is not actually assigned to every pokemon of that kind. There's battle music for Elite Four battles, Gym Battles, Legendaries, etc. but the music doesn't change for every different pokemon that comes out in a trainer battle.

    And do you mean that instead of cutting a new wav file at the end, you should go back and edit it in audacity to be faster/shorter. That's probably better, but cutting the hex directly is useful if there's just a little too much space at the end. Anyway, thanks for the suggestions. I'll edit the guide soon.

    @pokemonpokemonpokemon59

    I looked into it a little and I think its impossible... but I'm not sure. You may be able to give one pokemon's move slot to another, but I'm pretty sure the game is limited in move slots. If I figure anything out I'll let you know, but I highly suggest that you just use a pokemon that already has the moveslots you need...

    Also this is a DS thread, and I'd rather keep it that way
     

    Spiky-Eared Pichu

    NDS Hacker/Researcher
    257
    Posts
    14
    Years
    • Seen Oct 2, 2019
    @Stratocaster

    I know how's the music programmed in Pokémon DPPtHGSS, because I'm an active DS hacker, and I'm sure there's a table in a file that tells which Pokémon use a different song during wild battles. It can be a part of a script because if you find a Mesprit, the legendary battle music plays, for instance. And the same happens with Articuno/Zapdos/Moltres in Platinum.

    Also, I didn't mean changing the speed of the cry, but reducing a bit its quality by changing the sample rate.
     
    22
    Posts
    15
    Years
    • Seen Nov 1, 2020
    It's still a script.

    I put legendaries on a route just to make sure, and when I ran into a wild legendary, it still played the normal music. Mesprit is a roaming pokemon and there's a special script for that which decides what music is played. If you put Mesprit as a normal random pokemon in the route and find it that way, the normal music plays. If you still disagree, try it yourself.

    I haven't had any success with changing the sample rate so far... you're talking about the "Hz" right? I tried changing it in audacity and the file size ended up bigger or equal to the original. If you can give a description of how to do it and maybe try it yourself then that'd be great cause I'd love to include that.
     
    7
    Posts
    13
    Years
    • Seen Apr 21, 2012
    I love you @_@

    I was waiting for someone to post a tutorial on how to change pokemon positions in battle.
     

    GoldFlareon

    Biotic Flareon
    53
    Posts
    15
    Years
  • Great job with this tutorial. o: Although it's a real shame they didn't make D/P the same configurations as Platinum. D: I've been trying to find tools for that, but with little success...
     
    22
    Posts
    15
    Years
    • Seen Nov 1, 2020
    @kyou_kun

    Aww thanks. That was actually a last minute inclusion I almost forgot to do, and I did it all from figuring it out to writing up in ~1 hour. It's really easy once you know how to do it right?

    @GoldFlareon

    I don't really know much about platinum. What is advantage is there to platinum over diamond?
     
    7
    Posts
    13
    Years
    • Seen Apr 21, 2012
    @kyou_kun

    Aww thanks. That was actually a last minute inclusion I almost forgot to do, and I did it all from figuring it out to writing up in ~1 hour. It's really easy once you know how to do it right?

    @GoldFlareon

    I don't really know much about platinum. What is advantage is there to platinum over diamond?

    The only real advantage that it has is, it's a little bit faster. (The battle is sped up a little)
     
    6
    Posts
    17
    Years
    • Seen Dec 21, 2020
    I've found out how to edit the Pokemon icon palettes in HGSS, although since I'm a beginner at all this, I have no idea how to make a program to aid the process. But still, it just requires hex editing. Probably works with the other games, but I don't know for sure. Programs needed are CrystalTile and a Hex editor; I use Hex Workshop.

    First, open the Rom file in CrystalTile, and click the small picture of a DS to bring up the filesystem menu. Extract the arm9.bin file, and open the extracted file with your Hex editor. Each icon only uses one out of three palettes, and so their usage data is stored with the numbers 00, 01, and 02 for the three palettes respectively. The list begins with Bulbasaur's palette at offset 0x000FFC11. You should find the numbers 01 01 01 00 00 00 00 02 02, which is the palettes used in order from Bulbasaur to Blastoise. You can just enter those numbers in Ctrl+F and it should be the only result to come up. There's where you change your palettes. It's annoying, but I just had to count my way to the Pokemon palette I wanted to change. Simply change the number, and save. Then compress the arm9.bin file back into the rom in CrystalTile, and it should work.

    Some things I've noticed about the palettes (in case you want to identify what palette an icon would use): the first palette is the only one with an orange color, the second is the only one with green, and the third is the only one with purple.

    And on a side note, I've successfully changed overworld Pokemon sprites in HGSS, and I'll write how to do it later on. This guide helped me figure it out! Thanks! :D
     
    22
    Posts
    15
    Years
    • Seen Nov 1, 2020
    Wow awesome work 2and2makes5! What you did has really completed my work more fully. I can't make programs either its ok (and if I could I probably wouldn't take the time *shrugs*). In changing the palette, in some hex editors there should be an option to go ahead "x bytes" and you should be able to go to offset 0x000FFC10 and then tell it to go forward according to the National Dex #, making that task a lot less daunting than counting by hand up to Arceus, lol.

    Thanks again for your work, at some point hopefully I'll get around to putting what you've learned directly in the guide, crediting you of course. I look forward to learning more about what you've discovered. IMO the most fun part of ROM hacking is the whole "discovery/research" aspect!
     
    6
    Posts
    17
    Years
    • Seen Dec 21, 2020
    Hey, sorry it took so long, but I've been busy with life in general. I made a video showing how to change a Pokemon's overworld sprite:
    youtube (dot) com/watch?v=IanpeTRdp24
    I've included written instructions and the required programs in the download link in the description on YouTube. And for proof of the process, I have Gigalith in-game near the end of the video :D
     
    22
    Posts
    15
    Years
    • Seen Nov 1, 2020
    I UPDATED THE OP!!!
    Yes, for the first time in months I actually updated it... and all I did was paste what 2and2makes5 found and credited him, lol. At least I'm here and I took the time to do that right?

    can i ask for links for the ~Sprites~

    Yeah I had to re-find a download myself via google.

    Here

    It'd probably be cool if I included download links, but I just feel like they're sure to break and then people will be upset with the broken links. Perhaps I'll do that someday anyway.

    Thanks for your interest in my guide chipmo3, and thanks to 2and2makes5 for his discoveries.

    Have a good one.
     

    droomph

    weeb
    4,285
    Posts
    12
    Years
  • Hey, may I suggest using "Tinke"? It's just like NitroExplorer, but you get to preview picture files and stuff before exporting them, you can export them as .bmp, .png, etc....
     

    mikelan98

    Bendiciones y buenas noches
    72
    Posts
    12
    Years
    • Seen Mar 25, 2023
    I think I discovered the "Battle Scene Sprite Placement" file in HGSS, but I'm not sure. It is in 1/3/7.

    I'm also investigating how to make the Pokemon icons to work in 256 colors. It seems to be that changing the *.rgcn and *.nclr color depths is insufficient.
     
    Back
    Top