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

Draconius GO
Reply
 
Thread Tools
  #1    
Old July 25th, 2011 (1:06 PM). Edited June 3rd, 2012 by Stratocaster.
Stratocaster's Avatar
Stratocaster Stratocaster is offline
     
    Join Date: Aug 2008
    Posts: 22
    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:
    needed:
    dsbuff/NitroExplorer2b
    ImageConverter (aka Pokemon DS/Pic)
    any image editor (GraphicsGale is free and suggested)

    1.Go to poketool/pokegra/pokegra.narc and extract pokegra.narc
    2.Open pokegra.narc in ImageConverter. Scroll down through and you should see
    images of pokemon starting with with Item6. Go to the one you would like to
    change (note each pokemon's forward and back sprite are in there multiple times
    due to gender changes and such).
    3.Click SavePng.. and edit the image.
    4.Click OpenPng.. and then File>Write to narc.. Repeat this a few times to
    replace all the images of that pokemon.
    5.Reinsert the new pokegra file were the old one was.


    ~Palettes~

    Spoiler:
    needed:
    dsbuff/NitroExplorer2b
    ImageConverter
    DPPaletteEditorEng

    1.Go to Root/poketool/pokegra/pokegra.narc and extract pokegra.narc
    2.Open pokegra.narc in ImageConverter. As you scroll down the items, note how
    some have (1930) and some have (48). The (48) is where the palettes are saved.
    3.Choose one of these, and click Expert>Save Pal Direct and save it as whatever
    helps you identify it. Now go to the file and resave it from .bin to .nds.
    4.Open DPPaletteEditorEng and open the new .nds file. Put in "28" where it says
    Offset Palette and click Find. 16 colors will come up. These are the 16 colors
    of the sprite, the first one being the background which is transparent in-game.
    5.Select Tools>Color Picker and select a color. The magnifying glass and dropper
    on the right are useful tools for color selecting. If you have made a new image
    already, you can find precisely what colors you used by dragging the dropper to
    it. Once you know what color you want, type the GBA color code into one of the
    palette boxes. Repeat this until you have the palette you want and press "OK".
    6.Go back to imageconverter and click Expert>Open Pal Direct where you would
    like the new palette. Then go to File>write to narc..
    7.Reinsert the new pokegra file were the old one was.


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

    Spoiler:
    needed:
    dsbuff/NitroExplorer2b
    PDEDS (Pokemon Data Editor DS)
    PMEDS (Pokemon Move Editor DS)
    EEDP (Evolution Editor DP)

    For the most part this is the easiest thing to do. These tools are available
    to do all the work. You just have to extract and reinsert the narcs used.
    They are personal.narc for PDEDS AND wotbl for PMEDS and can be found under
    (poketool/personal)

    PDEDS (Pokemon Data Editor DS)

    Base Stats
    Learnable TMs/HMs
    Types
    Abilities
    Held Items
    Exp Data
    Gender Ratio
    Breeding groups and steps
    EV's given
    Base Happinness
    Color
    Catch Rate
    Safari Run Chance

    PMEDS (Pokemon Move Editor DS)

    Level-up moves *see next spoiler for how to add/remove a move slot

    EEDP (Evolution Editor DP)

    Evolutions


    ~Changing the number of level-up moves:~

    Spoiler:
    needed:
    Hex Editor (HxD suggested)
    PMEDS

    *There is however a limitation on PMEDS, there isn't the ability to add or
    remove level-up move slots. To do this load wotbl.narc on a hex editor. Now
    you're going to search for where the pokemon's data is located.

    before moving on, open this guide by thethethethe:
    http://www.pokecommunity.com/showthread.php?t=131283
    and see the list of attacks at the bottom of the page

    Ok he explains everything for you there, but there's stuff you don't need to
    know so I'll summarize what you need. Your goal is simply to find the location
    of a pokemon's move data.

    The level-up moves are stored in a list like this one (Bulbasaur's):
    2102 2D06 490E 1612 4D1A 4F1A 241E 4B26 E62A 4A32 2636 843F EB42 924B FFFF

    Every one of those stores a move, except the last byte, which signals the
    end of the list of moves. This is always FFFF. At this point, if you wanted,
    you coud search for part of this string and find Bulbasaur's data, and then,
    search FFFF again and again, counting each time. If you want to edit Arceus
    though, that may not be the best idea...

    Instead I'll show you how a move is constructed in the hex.
    Ok, let's take one apart first.
    Take 843F, this is actually 8401 and 003E added together.
    8401 is the move, flip the bytes (every 2 characters is a byte)
    and you get 0184, this is Worry Seed according to the list.
    003E is the level, but doubled. Convert to decimal and half 3E>62>31
    So bulbasaur learns Worry Seed at level 31! Great.

    Now find Turtwig. I did a little research and he's the only one who learns
    leaf storm at lvl 45 (this is easy to find out on serebii)
    So according to our list leaf storm's number is 01B5. Reversed: B501
    45>90>5A so 005A, B501+005A=B55B, search that to find Turtwig.

    Ok, now finally to add a slot. When you've found your pokemon, go to the next
    FFFF you find. Insert 2 bytes (easy in HxD, under 'edit') and then just copy
    the move before it in again. When you open it back up in PMEDS, it will have
    2 of the last move. Insert and remove bytes as necessary to get the right
    amount of moves you require. You do have to put some move into the new slot
    though or PMEDS will not identify it.

    You may also have to take out some filler space below in order for the ROM to work... I'm really not completely sure because so far it seems to work, but sometimes when you insert bytes it messes the game up. I just haven't tested this enough. Make sure you backup your game before inserting bytes for sure. Even though you always should of course


    ~Pokemon Icons~

    Spoiler:
    needed:
    NitroExplorer2b/dsbuff
    kiwi NDSeditor
    CrystalTile2
    GraphicsGale (highly suggested)

    Extract poke_icon.narc from poketool>icongra. I suggest putting this narc
    into a folder with no other narcs before the next step. Open kiwi and go to
    Tools>Batch Unpack Narc... In this window select the folder you put the narc
    in and where you would like the new folder with the unpacked files to go.
    Kiwi will unpack all narcs in the selected folder
    (thats why it was suggested there were no other narcs)

    Icon Sprites (RGCN files)
    007 ? mark symbol
    008 Bulbasaur
    009-499 national dex # + 7
    500 Arceus
    501 Egg
    502 Manaphy Egg
    503 Deoxys Attack
    504 Deoxys Defence
    505 Deoxys Speed
    506-533 Unown A-Z,!,? (some glitchy)
    534 ?
    535 ?glichty wormadam?
    536 Wormadam Sandy Cloak
    537 ?
    538 Shellos East
    539 Gastrodon East

    I included the last few icons just fyi, I doubt you'll use them. Mostly
    all you need to know is take the national dex # and add 7 to find the one you
    want.

    Ok so now open up CrystalTile2, and use the 2010.09.06 version, because it
    probably won't work right otherwise. Open the RGCN file you want to edit and
    it'll come up as a bunch of hex. Take these steps to make it look right:

    1. Click the icon with the mountain on it to enter tile mode.
    2. Under the properties tab, change the offset to 30
    3. Change the tile form to GBA 4bpp
    4. The first file in the poke_icon folder you made is poke_icon_000.rlcn,
    change the extention to .nclr (yeah thats just backwards) Now under the
    palette tab, press import, and in the poke_icon folder select the file you
    changed. You had to change it because it only accepts .nclr's.
    5. Click View>Fit Window to Tile, and then drag the window and make it smaller
    until the image is 4 tiles wide, or until it fits together.
    6. Go back to the palette, each row is a seperate palette, choose the one that
    looks right. NOTE: if the palette you used to create the new sprite is
    different than the old one... well this doesn't work then...

    Ok at this point you can edit it directly in CrystalTile2 if you want...
    which is hard and sometimes crashes randomly on me OR lets say you use
    one of the templates I've provided (remind me if they aren't available),
    edit it in graphicsgale and import it. To import an image, go to
    Edit>Import Image, select the image and make sure it's placed directly on
    top of the previous one. Then double click it to lock it in place and save.

    Go back to Kiwi and click Tools>Make Narc file. Choose the poke_icon
    folder that was edited to make a new poke_icon.narc and insert that
    into your ROM.

    ***Ok so only one thing left: changing which of the 3 palettes shows up in-game.
    Right now... I'm still looking into that. If you find anything on the subject,
    let me know.


    ~Pokemon Icons Palettes~
    (thanks to 2and2makes5)

    Spoiler:

    "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."


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

    Spoiler:

    Watch a tutorial at:
    youtube (dot) com/watch?v=IanpeTRdp24


    ~Pokemon Cries~

    Spoiler:
    needed
    dsbuff/nitroexplorer2b
    kiwi ndseditor
    Audacity
    wav2swav
    swav2swar
    Hex Editor (HxD highly recommended, the guide uses that one)


    Extract data>sound>sound_data.sdat.

    Extract the data from sound_data.sdat. To do this, open it up in kiwi, and
    double click it to open it up in a seperate window. At the top click the
    check all button, and also the button to the left of it, the extract button
    that looks like a notepad.

    Go to the sound_data>Wave Archive folder.The files named WAVE_ARC_PV***.swar.

    Now you need to identify the number you want to replace. Everyone up to Deoxys
    is listed by thier national dex #, all the 4th gen pokemon are not in order
    and can be looked up in the chart provided.

    Once you know what to replace, you're going to need to need something to replace
    it with. You have two options:

    1. Pick a swar file from another pokemon to replace the one you want replaced.

    2. Create a new swar from scratch...

    So to do #2 you're going to need a few things. First you need to make a wav
    file that is a fitting pokemon cry. One way you can do that is use this site:
    http://www.bfxr.net/
    or this one:
    http://www.superflashbros.net/as3sfxr/
    Just click randomize until you get something similar to what you're looking
    for, then move the sliders around. It's something you can mess with. Turn the
    volume to max, and then export as a wav.
    Another option is to download "Sound Effects Generator" this is a really powerful
    tool based on my experience with the demo. You can really produce that sound in
    your head... it's also $20 so only download it if you're serious about making a
    game or something. There are other ways to make these effects, but those are some
    simple ones...

    Ok, now open up Audacity, highlight any extra material at the end that is
    practically silent, and edit>cut. Then, even if you outputed it at max volume,
    you still may want to use the effects>amplify and amplify it as much as you
    it will let you without checking the "allow clipping" box. I suggest at least
    amplifying it a little as you'll probably be surprised at how quiet the sound
    can come out in-game. Also amplifying doesn't make the file bigger which is
    important.

    Now you need to use wav2swav and swav2swar. If you put these in the same folder,
    and open swav2swar, then wav2swav will also open up in it. Otherwise, just drag,
    the wav onto the wav2swav application and it'll generate your swav. In swav2swar,
    press add and create to make your swar. This is a pretty simple process, so I'm
    not going to go into further detail.

    Finally, you have a new swar file... now inserting it back into the ROM is a
    whole different story. Kiwi has a method to create sdat files... but it doesn't
    really work correctly from my testing. So you're going to have to hex it in,
    which is easier than it sounds, really. Here it goes:

    Open HxD and you need to open 3 files: the file your going to hex edit (this is
    either the rom directly, or sound_data.sdat), the swar of the pokemon to replace,
    and your new swar. Go to the bottom of both of your swar files, and make sure
    that the new one is smaller than the original. If it's not quite smaller, there's
    still hope... more on that later. Select all (learn the 'ctrl' shortcuts) of the
    swar to replace, copy it, and using the search tool, search for the whole piece
    of data in the rom/sdat. Now if the new data is smaller, go to edit>fill
    selection and if you press ok, it should fill it with all 00's. Now USING THE
    UP ARROW, scroll up to the top of the red 00's.(Yes this takes a little time,
    but afaik there's no other way, and if you as much as touch the scroll bar,
    you'll lose your spot forever, and you'll have to undo and start over) Once
    you're there, Select all, of the new file, copy it, and, clicking at the very
    beginning of the red 00's, use edit>paste write. And that does it!

    If your new file is a little too big...
    Instead of selecting all of it, go to the end of the old file, and take note
    of what the last line's offset (numbers and letters to the lefthand side) is.
    Use search>go to and highlight backwards starting from the rightmost of that
    line. THen when you go to paste it in, there is no 00 filling required, because
    it should fit in exactly. So after you find it, just paste it in. It'll sound
    cut off though if too much was left out, so use sparingly.


    ~4th Gen Cry #'s~

    Spoiler:
    Code:
    1-386 bulbasaur to deoxys by national dex #
    
    432 Turtwig
    433 Grotle
    434 Torterra
    
    430 Chimcharr
    435 Monferno
    436 Infernape
    
    431 Piplup
    437 Prinplup
    438 Infernape
    
    429 Starly
    448 Staravia
    449 Staraptor
    
    461 Bidoof
    462 Bibarel
    
    480 Kricketot
    481 Kricketune
    
    472 Shinx
    473 Luxio
    474 Luxray
    
    428 Budew
    421 Roserade
    
    489 Cranidos
    490 Rampardos
    
    487 Shieldon
    488 Bastiodon
    
    455 Burmy
    457 Wormadam
    456 Mothim
    
    470 Combee
    471 Vespiquen
    
    477 Pachirisu
    
    418 Buizel
    440 Floatzel
    
    482 Cherubi
    483 Cherrim
    
    458 Shellos
    459 Gastrodon
    
    496 Ambipom
    
    450 Drifloon
    451 Drifblim
    
    420 Buneary
    454 Lopunny
    
    500 Mismagius
    
    494 Honchkrow
    
    426 Glameow
    463 Purugly
    
    445 Chingling
    
    468 Stunky
    469 Skuntank
    
    478 Bronzor
    479 Bronzong
    
    413 Bonsly
    
    414 Mime Jr.
    
    444 Happiny
    
    419 Chatot
    
    460 Spritomb
    
    491 Gible
    492 Gabite
    493 Gachomp
    
    412 Munchlax
    
    439 Riolu
    416 Lucario
    
    464 Hippopotas
    465 Hippowdon
    
    485 Skorupi
    486 Drapion
    
    452 Croagunk
    453 Toxicroak
    
    484 Carnivine
    
    466 Finneon
    467 Lumineon
    
    417 Mantyke
    
    475 Snover
    476 Abomasnow
    
    415 Weavile
    
    443 Magnezone
    
    501 Lickilicky
    
    446 Rhyperior
    
    422 Tangrowth
    
    427 Electivire
    
    502 Magmortar
    
    495 Togekiss
    
    499 Yanmega
    
    505 Leafeon
    
    506 Glaceon
    
    447 Gliscor
    
    424 Mamoswine
    
    504 Porygon-Z
    
    498 Gallade
    
    497 Probopass
    
    423 Dusknoir
    
    425 Froslass
    
    519 Rotom
    
    511 Uxie
    
    512 Mesprit
    
    513 Azelf
    
    514 Dialga
    
    515 Palkia
    
    508 Heatran
    
    510 Regigigas
    
    509 Giratina
    
    507 Cresselia
    
    441 Phione
    
    442 Manaphy
    
    517 Darkrai
    
    516 Shaymin
    
    518 Arceus


    ~Pokemon Names~

    Spoiler:
    needed:
    thenewpoketext
    xml editer (Notepad++ suggested)

    Dsbuff/Nitroexplorer2b isn't listed? What? Ok they can be used to put the ROM
    together, but thenewpoketext actually puts the ROM back together for you so
    not much point. The narc edited is msg.narc in the msgdata folder, in case you
    want to do all your text editing seperate from your main file, you could then
    move the msg.narc from the "tmp" folder made to the folder of your ROM. That may
    make more sense later.

    Make sure you're thenewpoketext has 'ndseditor' in it or it won't work. My
    suggestion is find a download of thenewpoketext that already has it in it. Put
    the rom file you want to edit in the same folder as thenewpoketext.

    Opening thenewpoketext, it'll ask for the "Romname:", put in the full title
    (including .nds) of your ROM and it'll extract it making a "tmp" or temporary
    folder.

    These next commands are important. Type these into thenewpoketext window.
    You can change where it says name/name_edited/newromname to your desired names.

    getall name.xml (this dumps the game's text)
    OR make 2 dumps of just where the names are located like this:
    get 362 name1.xml
    get 363 name2.xml

    [this is when you edit your text, more on that later]

    patch name_edited.xml (patches the msg.narc based on your edits)
    do this multiple times if you seperated your dumps

    mkrom newromname.nds

    thats it!

    As for actually editing the xml, it's pretty simple:

    Copy the original dump and rename it.

    Open in xml editor (Notepad++)

    search for the name of the pokemon you want to change. You should find it
    at least two times. If you find it in any sentences, you can ignore it, because
    that's a pokedex entry. After you've found it, type in the name you want, then
    search for the word "false" and set to search "up"
    Here you'll find something like this:


    change "false" to "true" or it won't patch that file.

    If you seperated it into two files, the "false" will be at the top the of the
    page and you only search for the name and replace it once a piece.

    You have to go through at least the first 2 commands to get to the patch,
    even if you've already dumped the files before. So if want to edit again,
    just put in the same data you did before and it won't make a big difference.
    It just has to go through those steps...


    ~Pokedex~

    Spoiler:
    needed:
    thenewpoketext
    xml editor
    *hex editor

    Read the "Pokemon Names" section for how to use thenewpoketext.

    Provided is the file id numbers to help you find various pokedex data:

    615 Pokedex entry
    619 Weight (not in-game weight)
    620 Height
    621 Classification (_________ Pokemon)

    Make sure to put in \n every 35 characters or less to make a new line

    Change what comes after the "\x01E2\x01E2" for weight and height

    Just search:
    file id="***" and insert the id # for the stars.

    Typically searching thier national dex # will get you to them after that.

    *This page shows how to change a lot of the really random pokedex features
    including size comparisons and such. Notably it stores the weight value,
    I have yet to determine if this is the same weight value used when calculating
    the power of grassknot, lowkick, etc.
    http://projectpokemon.org/forums/showthread.php?4375-Analysis-of-zukan_data.narc-Edit-Pokedex-Height-Weight-Camparisons-amp-Results-of-Search


    ~Pokemon Egg Moves~

    Spoiler:
    needed:
    Hex Editor (practically any one will do)
    dsbuff (optional) nitroexplorer2b is useless for this

    If you want to edit it directly in the ROM, the data starts at offset 00165A60

    If you want to edit it seperate from the ROM, and pack the ROM afterwards, go
    to the overlay folder. The egg move data is in overlay_0005.bin starting at
    offset 00020660

    Once you're at the offset, look for "21 4E". This is bulbasaur's number. Follow
    the code down about 2 lines and you should find "24 4E". Notice how it skipped
    2 and went right to charmander, since ivysaur and venusaur can't hatch from an
    egg directly, this makes sense. Also take note that the bytes are switched. As
    in "21 4E" is actually "4E 21", and you have to count up from there, which
    explains why charmander is "24 4E" instead of "21 51" ... if you get what I
    mean (look up how to count up in hexadecimal if you don't know"

    Anyway.

    That's important because all of the bytes are inverted like that. After
    bulbasaur's identifyer "21 4E" it says "71 00", inverted thats "00 71"
    looking back at thethethethe's list of attacks:
    http://www.pokecommunity.com/showthread.php?t=131283
    we find that's light screen. Now follow the rest of it as this example
    shows.

    example:
    Bulbasaur eggmoves: 71008200DB00CC00500059014001AE0013010B018500B501
    light screen 071
    skull bash 082
    safeguard 0DB
    charm 0CC
    petal dance 050
    magical leaf 159
    grasswhistle 140
    curse 0AE
    ingrain 113
    nature power 10B
    amnesia 085
    leaf storm 1B5

    After the identifyer (214E) you should find that string of hex
    Easy right? So to give Bulbasaur the eggmove... let's see how about...
    OVERHEAT
    looking it up, overheat is 13B > 013B > 3B01
    So to replace lets say skull bash with overheat, the new string would be:
    71003B01DB00CC00500059014001AE0013010B018500B501
    and that's all there is to replacing an eggmove.

    So all that's left is finding the pokemon you want to edit. To do that,
    first go to the beginning offset given earlier, then use the search tool
    from there to find the pokemon's identifyer, which the string of eggmoves
    immediately follows of course. The list of identifyers is given. Also, one
    last tip. The moves are listed in the same order as they are on serebii.


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

    Spoiler:
    PKMN EGGMOVE IDs
    offsets on overlay_0005.bin
    00020660-00021550
    offsets on ROM
    00165A60-0016****

    Code:
    214E BULBASAUR
    244E CHARMANDER
    274E SQUIRTLE
    304E PIDGEY
    334E RATTATA
    354E SPEAROW
    374E EKANS
    3B4E SANDSHREW
    3D4E NIDORAN (F)
    404E NIDORAN (M)
    454E VULPIX
    494E ZUBAT
    4B4E ODDISH
    4E4E PARAS
    504E VENONAT
    524E DIGLETT
    544E MEOWTH
    564E PSYDUCK
    584E MANKEY
    5A4E GROWLITHE
    5C4E POLIWAG
    5F4E ABRA
    624E MACHOP
    654E BELLSPROUT
    684E TENTACOOL
    6A4E GEODUDE
    6D4E PONYTA
    6F4E SLOWPOKE
    734E FARFETCH'D
    744E DODUO
    764E SEEL
    784E GRIMER
    7A4E SHELLDER
    7C4E GASTLY
    7F4E ONIX
    804E DROWZEE
    824E KRABBY
    864E EXEGGCUTE
    884E CUBONE
    8C4E LICKITUNG
    8D4E KOFFING
    8F4E RHYHORN
    914E CHANSEY
    924E TANGELA
    934E KANGASKHAN
    944E HORSEA
    964E GOLDEEN
    9A4E MR MIME
    9B4E SCYTHER
    9F4E PINSIR
    A34E LAPRAS
    A54E EEVEE
    AA4E OMANYTE
    AC4E KABUTO
    AE4E AERODACTYL
    AF4E SNORLAX
    B34E DRATINI
    B84E CHIKORITA
    BB4E CYNDAQUIL
    BE4E TOTODILE
    C14E SENTRET
    C34E HOOTHOOT
    C54E LEDYBA
    C74E SPINARAK
    CA4E CHINCHOU
    CC4E PICHU
    CD4E CLEFFA
    CE4E IGGLYBUFF
    CF4E TOGEPI
    D14E NATU
    D34E MAREEP
    D74E MARILL
    D94E SUDOWOODO
    DB4E HOPPIP
    DE4E AIPOM
    DF4E SUNKERN
    E14E YANMA
    E24E WOOPER
    E64E MURKROW
    E84E MISDREAVUS
    EB4E GIRAFARIG
    EC4E PINECO
    EE4E DUNSPARCE
    EF4E GLIGAR
    F14E SNUBBULL
    F34E QWILFISH
    F54E SHUCKLE
    F64E HERACROSS
    F74E SNEASEL
    F84E TEDDIURSA
    FA4E SLUGMA
    FC4E SWINUB
    FE4E CORSOLA
    FF4E REMORAID
    014F MANTINE
    024F DELIBIRD
    034F SKARMORY
    044F HOUNDOUR
    074F PHANPY
    0A4F STANTLER
    0C4F TYROGUE
    0E4F SMOOCHUM
    0F4F ELEKID
    104F MAGBY
    114F MILTANK
    164F LARVITAR
    1C4F TREECKO
    1F4F TORCHIC
    224F MUDKIP
    254F POOCHYENA
    274F ZIGZAGOON
    2E4F LOTAD
    314F SEEDOT
    344F TAILLOW
    364F WINGULL
    384F RALTS
    3B4F SURSKIT
    3D4F SHROOMISH
    3F4F SLAKOTH
    424F NINCADA
    454F WHISMUR
    484F MAKUHITA
    4A4F AZURILL
    4B4F NOSEPASS
    4C4F SKITTY
    4E4F SABLEYE
    4F4F MAWILE
    504F ARON
    534F MEDITITE
    554F ELECTRIKE
    574F PLUSLE
    584F MINUN
    594F VOLBEAT
    5A4F ILLUMISE
    5B4F ROSELIA
    5C4F GULPIN
    5E4F CARVANHA
    604F WAILMER
    624F NUMEL
    644F TORKOAL
    654F SPOINK
    674F SPINDA
    684F TRAPINCH
    6B4F CACNEA
    6D4F SWABLU
    6F4F ZANGOOSE
    704F SEVIPER
    734F BARBOACH
    754F CORPHISH
    794F LILEEP
    7B4F ANORITH
    7D4F FEEBAS
    7F4F CASTFORM
    804F KECLEON
    814F SHUPPET
    834F DUSKULL
    854F TROPIUS
    864F CHIMECHO
    874F ABSOL
    894F SNORUNT
    8B4F SPHEAL
    8E4F CLAMPERL
    914F RELICANTH
    924F LUVDISC
    934F BAGON
    A34F TURTWIG
    A64F CHIMCHAR
    A94F PIPLUP
    AC4F STARLY
    AF4F BIDOOF
    B34F SHINX
    B64F BUDEW
    B84F CRANIDOS
    BA4F SHIELDON
    C14F PACHIRISU
    C24F BUIZEL
    C44F CHERUBI
    C64F SHELLOS
    C94F DRIFLOON
    CB4F BUNEARY
    CF4F GLAMEOW
    D14F CHINGLING
    D24F STUNKY
    D64F BONSLY
    D74F MIME JR
    D84F HAPPINY
    D94F CHATOT
    DA4F SPIRITOMB
    DB4F GIBLE
    DE4F MUNCHLAX
    DF4F RIOLU
    E14F HIPPOPOTAS
    E34F SKORUPI
    E54F CROAGUNK
    E74F CARNIVINE
    E84F FINNEON
    EA4F MANTYKE
    EB4F SNOVER
    END


    ~Pokemon Animations~

    Spoiler:
    needed:
    nitroexplorer2b/dsbuff
    Hex Editor (HxD recommended)

    This is actually surprisingly easy.

    That is to switch pokemon's animations with eachother, making one from scratch
    seems... possible, but not worth the effort really. There are 493 animations
    to choose from, so I figure one of them probably already does anything you
    could possibly want. Let's talk about how the animations are stored and how
    they work.

    There is the poke_anm.narc, which is in the pokeanime folder, and then there
    is the pokeanm.narc, which is in the poketool>pokeanm folder. The former, the
    poke_anm.narc, holds all the data for each of the singular movements, and the
    latter, pokeanm.narc, holds the data for how each pokemon combines these moves
    into a full animation. Messing with poke_anm.narc would create kinds of wide-
    spread changes that you don't want. All you need to mess with is the
    pokeanm.narc. Remember the difference between these two. Please don't confuse
    them.

    Ok so extract the pokeanm.narc file and open it up in a hex editor.
    The important stuff starts at offset 58. From there to the end of the narc
    every pokemon's animation is stored in exactly 28 bytes (sets of 2 characters)
    This makes it really easy to switch them out, because unlike their cries, the
    animation data is the same size for every pokemon. There is just more buffer
    on the end for the smaller files (buffer is filler and looks like "FF 00").

    So to switch one animation from one pokemon to another, just copy the 28 bytes
    from the one over the other's 28 bytes. This means using 'Paste write' and not
    'Paste insert' in HxD. The only issue now is finding the pokemon you want to
    change and the one you want changed.

    Ok so as stated earlier the beginning offset is 58 and each one is 28 bytes
    from the last one. So the 58 offset is in hex and 28 a decimal number. Convert
    the offset to decimal to get 88. Then multiply 28 by the pokemon's national
    dex # - 1.

    That formula is like this:
    88+(28*(nd#-1))= convert this number to hex for offset

    That offset is the beginning of the pokemon's 28 bytes, also, just fyi, you
    have a calculator on your windows computer that can work in and convert hex.
    Just go to view > Programmer.

    Or you could just use the list I made... ya that too


    ~Pokemon Animation offsets~

    Spoiler:
    Code:
    OFFSET DEX# NAME
    
    0058 001.BULBASAUR
    0074 002.IVYSAUR
    0090 003.VENUSAUR
    00AC 004.CHARMANDER
    00C8 005.CHARMELEON
    00E4 006.CHARIZARD
    0100 007.SQUIRTLE
    011C 008.WARTORTLE
    0138 009.BLASTOISE
    0154 010.CATERPIE
    0170 011.METAPOD
    018C 012.BUTTERFREE
    01A8 013.WEEDLE
    01C4 014.KAKUNA
    01E0 015.BEEDRILL
    01FC 016.PIDGEY
    0218 017.PIDGEOTTO
    0234 018.PIDGEOT
    0250 019.RATTATA
    026C 020.RATICATE
    0288 021.SPEAROW
    02A4 022.FEAROW
    02C0 023.EKANS
    02DC 024.ARBOK
    02F8 025.PIKACHU
    0314 026.RAICHU
    0330 027.SANDSHREW
    034C 028.SANDSLASH
    0368 029.NIDORAN (F)
    0384 030.NIDORINA
    03A0 031.NIDOQUEEN
    03BC 032.NIDORAN
    03D8 033.NIDORINO
    03F4 034.NIDOKING
    0410 035.CLEFAIRY
    042C 036.CLEFABLE
    0448 037.VULPIX
    0464 038.NINETALES
    0480 039.JIGGLYPUFF
    049C 040.WIGGLYTUFF
    04B8 041.ZUBAT
    04D4 042.GOLBAT
    04F0 043.ODDISH
    050C 044.GLOOM
    0528 045.VILEPLUME
    0544 046.PARAS
    0560 047.PARASECT
    057C 048.VENONAT
    0598 049.VENOMOTH
    05B4 050.DIGLETT
    05D0 051.DUGTRIO
    05EC 052.MEOWTH
    0608 053.PERSIAN
    0624 054.PSYDUCK
    0640 055.GOLDUCK
    065C 056.MANKEY
    0678 057.PRIMEAPE
    0694 058.GROWLITHE
    06B0 059.ARCANINE
    06CC 060.POLIWAG
    06E8 061.POLIWHIRL
    0704 062.POLIWRATH
    0720 063.ABRA
    073C 064.KADABRA
    0758 065.ALAKAZAM
    0774 066.MACHOP
    0790 067.MACHOKE
    07AC 068.MACHAMP
    07C8 069.BELLSPROUT
    07E4 070.WEEPINBELL
    0800 071.VICTREEBEL
    081C 072.TENTACOOL
    0838 073.TENTACRUEL
    0854 074.GEODUDE
    0870 075.GRAVELER
    088C 076.GOLEM
    08A8 077.PONYTA
    08C4 078.RAPIDASH
    08E0 079.SLOWPOKE
    08FC 080.SLOWBRO
    0918 081.MAGNEMITE
    0934 082.MAGNETON
    0950 083.FARFETCH'D
    096C 084.DODUO
    0988 085.DODRIO
    09A4 086.SEEL
    09C0 087.DEWGONG
    09DC 088.GRIMER
    09F8 089.MUK
    0A14 090.SHELLDER
    0A30 091.CLOYSTER
    0A4C 092.GASTLY
    0A68 093.HAUNTER
    0A84 094.GENGAR
    0AA0 095.ONIX
    0ABC 096.DROWZEE
    0AD8 097.HYPNO
    0AF4 098.KRABBY
    0B10 099.KINGLER
    0B2C 100.VOLTORB
    0B48 101.ELECTRODE
    0B64 102.EXEGGCUTE
    0B80 103.EXEGGUTOR
    0B9C 104.CUBONE
    0BB8 105.MAROWAK
    0BD4 106.HITMONLEE
    0BF0 107.HITMONCHAN
    0C0C 108.LICKITUNG
    0C28 109.KOFFING
    0C44 110.WEEZING
    0C60 111.RHYHORN
    0C7C 112.RHYDON
    0C98 113.CHANSEY
    0CB4 114.TANGELA
    0CD0 115.KANGASKHAN
    0CEC 116.HORSEA
    0D08 117.SEADRA
    0D24 118.GOLDEEN
    0D40 119.SEAKING
    0D5C 120.STARYU
    0D78 121.STARMIE
    0D94 122.MR MIME
    0DB0 123.SCYTHER
    0DCC 124.JYNX
    0DE8 125.ELECTABUZZ
    0E04 126.MAGMAR
    0E20 127.PINSIR
    0E3C 128.TAUROS
    0E58 129.MAGIKARP
    0E74 130.GYARADOS
    0E90 131.LAPRAS
    0EAC 132.DITTO
    0EC8 133.EEVEE
    0EE4 134.VAPOREON
    0F00 135.JOLTEON
    0F1C 136.FLAREON
    0F38 137.PORYGON
    0F54 138.OMANYTE
    0F70 139.OMASTAR
    0F8C 140.KABUTO
    0FA8 141.KABUTOPS
    0FC4 142.AERODACTYLE
    0FE0 143.SNORLAX
    0FFC 144.ARTICUNO
    1018 145.ZAPDOS
    1034 146.MOLTRES
    1050 147.DRATINI
    106C 148.DRAGONAIR
    1088 149.DRAGONITE
    10A4 150.MEWTWO
    10C0 151.MEW
    10DC 152.CHIKORITA
    10F8 153.BAYLEEF
    1114 154.MEGANIUM
    1130 155.CYNDAQUIL
    114C 156.QUILAVA
    1168 157.TYPHLOSION
    1184 158.TOTODILE
    11A0 159.CROCONAW
    11BC 160.FERALIGATR
    11D8 161.SENTRET
    11F4 162.FURRET
    1210 163.HOOTHOOT
    122C 164.NOCTOWL
    1248 165.LEDYBA
    1264 166.LEDIAN
    1280 167.SPINARAK
    129C 168.ARIADOS
    12B8 169.CROBAT
    12D4 170.CHINCHOU
    12F0 171.LANTURN
    130C 172.PICHU
    1328 173.CLEFFA
    1344 174.IGGLYBUFF
    1360 175.TOGEPI
    137C 176.TOGETIC
    1398 177.NATU
    13B4 178.XATU
    13D0 179.MAREEP
    13EC 180.FLAAFFY
    1408 181.AMPHAROS
    1424 182.BELLOSSOM
    1440 183.MARILL
    145C 184.AZUMARILL
    1478 185.SUDOWOODO
    1494 186.POLITOED
    14B0 187.HOPPIP
    14CC 188.SKIPLOOM
    14E8 189.JUMPLUFF
    1504 190.AIPOM
    1520 191.SUNKERN
    153C 192.SUNFLORA
    1558 193.YANMA
    1574 194.WOOPER
    1590 195.QUAGSIRE
    15AC 196.ESPEON
    15C8 197.UMBREON
    15E4 198.MURKROW
    1600 199.SLOWKING
    161C 200.MISDREAVUS
    1638 201.UNOWN
    1654 202.WOBBUFFET
    1670 203.GIRAFARIG
    168C 204.PINECO
    16A8 205.FORRETRESS
    16C4 206.DUNSPARCE
    16E0 207.GLIGAR
    16FC 208.STEELIX
    1718 209.SNUBBULL
    1734 210.GRANBULL
    1750 211.QUILFISH
    176C 212.SCIZOR
    1788 213.SHUCKLE
    17A4 214.HERACROSS
    17C0 215.SNEASEL
    17DC 216.TEDDIURSA
    17F8 217.URSARING
    1814 218.SLUGMA
    1830 219.MAGCARGO
    184C 220.SWINUB
    1868 221.PILOSWINE
    1884 222.CORSOLA
    18A0 223.REMORAID
    18BC 224.OCTILLERY
    18D8 225.DELIBIRD
    18F4 226.MANTINE
    1910 227.SKARMORY
    192C 228.HOUNDOUR
    1948 229.HOUNDOOM
    1964 230.KINGDRA
    1980 231.PHANPY
    199C 232.DONPHAN
    19B8 233.PORYGON2
    19D4 234.STANTLER
    19F0 235.SMEARGLE
    1A0C 236.TYROGUE
    1A28 237.HITMONTOP
    1A44 238.SMOOCHUM
    1A60 239.ELEKID
    1A7C 240.MAGBY
    1A98 241.MILTANK
    1AB4 242.BLISSEY
    1AD0 243.RAIKOU
    1AEC 244.ENTEI
    1B08 245.SUICUNE
    1B24 246.LARVITAR
    1B40 247.PUPITAR
    1B5C 248.TYRANITAR
    1B78 249.LUGIA
    1B94 250.HO-OH
    1BB0 251.CELEBI
    1BCC 252.TREECKO
    1BE8 253.GROVYLE
    1C04 254.SCEPTILE
    1C20 255.TORCHIC
    1C3C 256.COMBUSKEN
    1C58 257.BLAZIKEN
    1C74 258.MUDKIP
    1C90 259.MARSHTOMP
    1CAC 260.SWAMPERT
    1CC8 261.POOCHYENA
    1CE4 262.MIGHTYENA
    1D00 263.ZIGZAGOON
    1D1C 264.LINOONE
    1D38 265.WURMPLE
    1D54 266.SILCOON
    1D70 267.BEAUTIFLY
    1D8C 268.CASCOON
    1DA8 269.DUSTOX
    1DC4 270.LOTAD
    1DE0 271.LOMBRE
    1DFC 272.LUDICOLO
    1E18 273.SEEDOT
    1E34 274.NUZLEAF
    1E50 275.SHIFTRY
    1E6C 276.TAILLOW
    1E88 277.SWELLOW
    1EA4 278.WINGULL
    1EC0 279.PELIPPER
    1EDC 280.RALTS
    1EF8 281.KIRLIA
    1F14 282.GARDEVOIR
    1F30 283.SURSKIT
    1F4C 284.MASQUERAIN
    1F68 285.SHROOMISH
    1F84 286.BRELOOM
    1FA0 287.SLAKOTH
    1FBC 288.VIGOROTH
    1FD8 289.SLAKING
    1FF4 290.NINCADA
    2010 291.NINJASK
    202C 292.SHEDINJA
    2048 293.WHISMUR
    2064 294.LOUDRED
    2080 295.EXPLOUD
    209C 296.MAKUHITA
    20B8 297.HARIYAMA
    20D4 298.AZURILL
    20F0 299.NOSEPASS
    210C 300.SKITTY
    2128 301.DELCATTY
    2144 302.SABLEYE
    2160 303.MAWILE
    217C 304.ARON
    2198 305.LAIRON
    21B4 306.AGGRON
    21D0 307.MEDITITE
    21EC 308.MEDICHAM
    2208 309.ELECTRIKE
    2224 310.MANECTRIC
    2240 311.PLUSLE
    225C 312.MINUN
    2278 313.VOLBEAT
    2294 314.ILLUMISE
    22B0 315.ROSELIA
    22CC 316.GULPIN
    22E8 317.SWALOT
    2304 318.CARVANHA
    2320 319.SHARPEDO
    233C 320.WAILMER
    2358 321.WAILORD
    2374 322.NUMEL
    2390 323.CAMERUPT
    23AC 324.TORKOAL
    23C8 325.SPOINK
    23E4 326.GRUMPIG
    2400 327.SPINDA
    241C 328.TRAPINCH
    2438 329.VIBRAVA
    2454 330.FLYGON
    2470 331.CACNEA
    248C 332.CACTURNE
    24A8 333.SWABLU
    24C4 334.ALTARIA
    24E0 335.ZANGOOSE
    24FC 336.SEVIPER
    2518 337.LUNATONE
    2534 338.SOLROCK
    2550 339.BARBOACH
    256C 340.WHISCASH
    2588 341.CORPHISH
    25A4 342.CRAWDAUNT
    25C0 343.BALTOY
    25DC 344.CLAYDOL
    25F8 345.LILEEP
    2614 346.CRADILY
    2630 347.ANORITH
    264C 348.ARMALDO
    2668 349.FEEBAS
    2684 350.MILOTIC
    26A0 351.CASTFORM
    26BC 352.KECLEON
    26D8 353.SHUPPET
    26F4 354.BANETTE
    2710 355.DUSKULL
    272C 356.DUSCLOPS
    2748 357.TROPIUS
    2764 358.CHIMECHO
    2780 359.ABSOL
    279C 360.WYNAUT
    27B8 361.SNORUNT
    27D4 362.GLALIE
    27F0 363.SPHEAL
    280C 364.SEALEO
    2828 365.WALREIN
    2844 366.CLAMPERL
    2860 367.HUNTAIL
    287C 368.GOREBYSS
    2898 369.RELICANTH
    28B4 370.LUVDISC
    28D0 371.BAGON
    28EC 372.SHELGON
    2908 373.SALAMENCE
    2924 374.BELDUM
    2940 375.METANG
    295C 376.METAGROSS
    2978 377.REGIROCK
    2994 378.REGICE
    29B0 379.REGISTEEL
    29CC 380.LATIAS
    29E8 381.LATIOS
    2A04 382.KYOGRE
    2A20 383.GROUDON
    2A3C 384.RAYQUAZA
    2A58 385.JIRACHI
    2A74 386.DEOXYS
    2A90 387.TURTWIG
    2AAC 388.GROTLE
    2AC8 389.TORTERRA
    2AE4 390.CHIMCHAR
    2B00 391.MONFERNO
    2B1C 392.INFERNAPE
    2B38 393.PIPLUP
    2B54 394.PRINPLUP
    2B70 395.EMPOLEON
    2B8C 396.STARLY
    2BA8 397.STARAVIA
    2BC4 398.STARAPTOR
    2BE0 399.BIDOOF
    2BFC 400.BIBAREL
    2C18 401.KRICKETOT
    2C34 402.KRICKETUNE
    2C50 403.SHINX
    2C6C 404.LUXIO
    2C88 405.LUXRAY
    2CA4 406.BUDEW
    2CC0 407.ROSERADE
    2CDC 408.CRANIDOS
    2CF8 409.RAMPARDOS
    2D14 410.SHIELDON
    2D30 411.BASTIODON
    2D4C 412.BURMY
    2D68 413.WORMADAM
    2D84 414.MOTHIM
    2DA0 415.COMBEE
    2DBC 416.VESPIQUEN
    2DD8 417.PACHIRISU
    2DF4 418.BUIZEL
    2E10 419.FLOATZEL
    2E2C 420.CHERUBI
    2E48 421.CHERRIM
    2E64 422.SHELLOS
    2E80 423.GASTRODON
    2E9C 424.AMBIPOM
    2EB8 425.DRIFLOON
    2ED4 426.DRIFBLIM
    2EF0 427.BUNEARY
    2F0C 428.LOPUNNY
    2F28 429.MISMAGIUS
    2F44 430.HONCHKROW
    2F60 431.GLAMEOW
    2F7C 432.PURUGLY
    2F98 433.CHINGLING
    2FB4 434.STUNKY
    2FD0 435.SKUNTANK
    2FEC 436.BRONZOR
    3008 437.BRONZONG
    3024 438.BONSLY
    3040 439.MIME JR.
    305C 440.HAPPINY
    3078 441.CHATOT
    3094 442.SPIRITOMB
    30B0 443.GIBLE
    30CC 444.GABITE
    30E8 445.GARCHOMP
    3104 446.MUNCHLAX
    3120 447.RIOLU
    313C 448.LUCARIO
    3158 449.HIPPOPOTAS
    3174 450.HIPPOWDON
    3190 451.SKORUPI
    31AC 452.DRAPION
    31C8 453.CROAGUNK
    31E4 454.TOXICROAK
    3200 455.CARNIVINE
    321C 456.FINNEON
    3238 457.LUMINEON
    3254 458.MANTYKE
    3270 459.SNOVER
    328C 460.ABOMASNOW
    32A8 461.WEAVILE
    32C4 462.MAGNEZONE
    32E0 463.LICKILICKY
    32FC 464.RHYPERIOR
    3318 465.TANGROWTH
    3334 466.ELECTIVIRE
    3350 467.MAGMORTAR
    336C 468.TOGEKISS
    3388 469.YANMEGA
    33A4 470.LEAFEON
    33C0 471.GLACEON
    33DC 472.GLISCOR
    33F8 473.MAMOSWINE
    3414 474.PORYGON-Z
    3430 475.GALLADE
    344C 476.PROBOPASS
    3468 477.DUSKNOIR
    3484 478.FROSLASS
    34A0 479.ROTOM
    34BC 480.UXIE
    34D8 481.MESPRIT
    34F4 482.AZELF
    3510 483.DIALGA
    352C 484.PALKIA
    3548 485.HEATRAN
    3564 486.REGIGIGAS
    3580 487.GIRATINA
    359C 488.CRESSELIA
    35B8 489.PHIONE
    35D4 490.MANAPHY
    35F0 491.DARKRAI
    360C 492.SHAYMIN
    3628 493.ARCEUS


    ~Battle Scene Sprite Placement

    Spoiler:
    needed
    nitroexplorer2b/dsbuff
    Hex Editor (HxD recommended)

    You probably didn't even think of this, but if you insert a new sprite for
    a pokemon, you'll notice... The sprite isn't quite where you want it when
    you fight the pokemon in battle... dang.

    So here's how to fix that little problem.

    Extract poketools>poketool>poke_yofs.narc

    At offset 3D the good stuff starts.
    That's bulbasaur's in-battle height offset. It says "01". You could say
    that "00" is the standard, baseline, height, and anything heigher than
    that raises it a pixel, and anything less lowers it. It's all in hex of
    course and anything less than "00" begins with "FF"
    FF = -1, FE = -2, FD = -3, etc.

    so all you have to do is take 3C, and using a hex calculator, add the
    pokemon's national dex number in hex. Then change the value there up
    to or down to raise and lower the sprite.

    For example. Let's try turtwig #387

    3c (60) + 183 (387) = 1BF (447) decimal numbers in parenthesis

    So 1BF is the offset you go to in order to change turtwig's values.
    No I'm not making a list for this one, it's really easy math...

    ~Changing the pokemon's shadow position~
    THIS ONE'S FOR FREE
    oh wait this whole guides for free

    You can also change the x position of the shadow, using the exact same
    method, offsets, everything. Just know higher values move the shadow to
    the right and lower values move it to the left.

    For both of these methods the only way to really to know how much to move
    it is by counting pixels, or guess and check, a program made for this would
    be super helpful if it could preview how a pokemon would look on screen...
    but such a thing doesn't exist atm. You should make one

    ~Credits~

    Spoiler:
    Independent freeware program developers:

    WB3000 - author of DSbuff
    DarkFader - author of NDSTool (aka kiwi)
    Treeki - author of NitroExplorer2b
    LoadingNOW - author of ImageConverter and thenewpoketext
    HackLars - author of DPPaletteEditorEng
    D-Trogh - author of PDEDS AND PMEDS
    Pokespam Inc. - author of EEDP
    Borra - author of swav2swar (and wav2swav?)

    The development teams of these software as well:

    GraphicsGale
    CrystalTile2
    HxD
    WindHex (not used in the guide but helped in the research)
    Audacity

    Some guides that helped me out:

    thethethethe - Basic Hex Editing in Pokemon Diamond
    Epuls56/I am r4ymond - Thenewpoketext Tutorial
    FL00TENKERP - How to hack Pokemon Diamond and Pearl sprites
    Poryhack - Analysis of zukan_data.narc - Edit Pokedex...


    ~Index of status of progress~

    Spoiler:
    Modable with software:
    Sprites (2 front and a back)
    palettes (normal and shiny)
    types
    abilities
    gender ratio
    exp data
    wild held items
    breeding groups and steps
    evs given when defeated
    happinness
    color
    catchrate (and safari run chance)
    TMs/HMs
    evolutions
    level-up attacks
    Pokemon Icons (ct2)
    Pokemon Icons Palettes
    Pokemon Overworld Sprites
    Pokemon Cries (kinda)
    Name
    description, pokedex entry, height, weight

    Modable with Hex:
    adding/removing level-up moves
    eggmoves
    Pokemon Cries
    Pokemon Animations
    Pokemon position on battle screen.

    Unknowns:
    No more afaik!!


    ~Why did I do this?~

    Spoiler:

    I think this is a pretty legit question considering I have so few posts and
    no one knows me or anything.

    I got bored and this was a challenge.

    It seems to me everyone's been stuck on advanced hacks too long... I wanted to help further research into the 4th gen hacking scene.

    I like fakemon and making my own. I'd love to see a collaborate effort to
    create a completely fakemon game... where there is a high standard and
    competition to get each pokemon into to the game. Also, I started making
    advanced sprites one day and was like... wow it'd help so much to just have
    a few more sprites to mess with...


    have fun!!
    Reply With Quote

    Relevant Advertising!

      #2    
    Old July 27th, 2011 (11:12 PM).
    Spiky-Eared Pichu's Avatar
    Spiky-Eared Pichu Spiky-Eared Pichu is offline
    NDS Hacker/Researcher
       
      Join Date: Apr 2010
      Posts: 257
      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
      __________________
      "Hacking has no limits. Don't try anything, DO IT!"

      Jump into DS hacking with SDSME!


      Beta 2 available!!


      Reply With Quote
        #3    
      Old July 30th, 2011 (1:08 PM).
      pokemonpokemonpokemon59's Avatar
      pokemonpokemonpokemon59 pokemonpokemonpokemon59 is offline
      The official Machoke
         
        Join Date: Apr 2010
        Location: Victoria, Australia
        Gender: Male
        Nature: Serious
        Posts: 70
        I need a gba version of the level up thing that lets you have more level up moves for my wurmple I'm turning into a deino =/
        Reply With Quote
          #4    
        Old July 30th, 2011 (6:25 PM).
        Stratocaster's Avatar
        Stratocaster Stratocaster is offline
           
          Join Date: Aug 2008
          Posts: 22
          Quote:
          Originally Posted by Spiky-Eared Pichu View Post
          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
          Reply With Quote
            #5    
          Old July 30th, 2011 (10:23 PM).
          pokemonpokemonpokemon59's Avatar
          pokemonpokemonpokemon59 pokemonpokemonpokemon59 is offline
          The official Machoke
             
            Join Date: Apr 2010
            Location: Victoria, Australia
            Gender: Male
            Nature: Serious
            Posts: 70
            Oh. Ok. Thanks. I prefer GBA hacking, not DS. But I might move into it soon
            Reply With Quote
              #6    
            Old July 31st, 2011 (8:11 AM).
            Spiky-Eared Pichu's Avatar
            Spiky-Eared Pichu Spiky-Eared Pichu is offline
            NDS Hacker/Researcher
               
              Join Date: Apr 2010
              Posts: 257
              @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.
              __________________
              "Hacking has no limits. Don't try anything, DO IT!"

              Jump into DS hacking with SDSME!


              Beta 2 available!!


              Reply With Quote
                #7    
              Old August 2nd, 2011 (2:54 PM).
              Stratocaster's Avatar
              Stratocaster Stratocaster is offline
                 
                Join Date: Aug 2008
                Posts: 22
                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.
                Reply With Quote
                  #8    
                Old August 2nd, 2011 (10:02 PM).
                kyou_kun's Avatar
                kyou_kun kyou_kun is offline
                   
                  Join Date: Aug 2010
                  Posts: 7
                  I love you @[email protected]

                  I was waiting for someone to post a tutorial on how to change pokemon positions in battle.
                  Reply With Quote
                    #9    
                  Old August 3rd, 2011 (12:09 AM).
                  GoldFlareon's Avatar
                  GoldFlareon GoldFlareon is offline
                  Biotic Flareon
                     
                    Join Date: Oct 2008
                    Location: The world of pokemon.
                    Age: 23
                    Gender: Female
                    Nature: Naive
                    Posts: 53
                    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...
                    __________________

                    Reply With Quote
                      #10    
                    Old August 5th, 2011 (1:45 PM).
                    Stratocaster's Avatar
                    Stratocaster Stratocaster is offline
                       
                      Join Date: Aug 2008
                      Posts: 22
                      @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?
                      Reply With Quote
                        #11    
                      Old August 8th, 2011 (1:26 PM).
                      kyou_kun's Avatar
                      kyou_kun kyou_kun is offline
                         
                        Join Date: Aug 2010
                        Posts: 7
                        Quote:
                        Originally Posted by Stratocaster View Post
                        @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)
                        Reply With Quote
                          #12    
                        Old August 9th, 2011 (11:57 PM).
                        /art-56/'s Avatar
                        /art-56/ /art-56/ is offline
                        magik leafer
                           
                          Join Date: May 2011
                          Location: Russia
                          Gender: Male
                          Nature: Relaxed
                          Posts: 13
                          Wow a useful tutorial!!!!!
                          Reply With Quote
                            #13    
                          Old September 4th, 2011 (11:09 AM).
                          2and2makes5's Avatar
                          2and2makes5 2and2makes5 is offline
                             
                            Join Date: Mar 2007
                            Nature: Quiet
                            Posts: 6
                            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
                            Reply With Quote
                              #14    
                            Old September 14th, 2011 (9:30 PM).
                            Stratocaster's Avatar
                            Stratocaster Stratocaster is offline
                               
                              Join Date: Aug 2008
                              Posts: 22
                              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!
                              Reply With Quote
                                #15    
                              Old January 1st, 2012 (10:35 PM).
                              2and2makes5's Avatar
                              2and2makes5 2and2makes5 is offline
                                 
                                Join Date: Mar 2007
                                Nature: Quiet
                                Posts: 6
                                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
                                Reply With Quote
                                  #16    
                                Old January 4th, 2012 (9:24 PM).
                                chipmo3 chipmo3 is offline
                                   
                                  Join Date: May 2009
                                  Gender:
                                  Posts: 2
                                  can i ask for links for the ~Sprites~
                                  __________________
                                  WOBBUFFET
                                  Reply With Quote
                                    #17    
                                  Old January 11th, 2012 (9:00 PM).
                                  Stratocaster's Avatar
                                  Stratocaster Stratocaster is offline
                                     
                                    Join Date: Aug 2008
                                    Posts: 22
                                    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?

                                    Quote:
                                    Originally Posted by chipmo3 View Post
                                    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.
                                    Reply With Quote
                                      #18    
                                    Old January 23rd, 2012 (11:50 AM).
                                    droomph's Avatar
                                    droomph droomph is offline
                                    weeb
                                    • Crystal Tier
                                     
                                    Join Date: Sep 2011
                                    Location: nowhere spectacular
                                    Age: 20
                                    Gender: Male
                                    Nature: Impish
                                    Posts: 4,291
                                    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....
                                    __________________
                                    did u no there r 21 letters in the alphabet
                                    o i forgot 5
                                    uraqt


                                    Reply With Quote
                                      #19    
                                    Old August 5th, 2014 (1:35 PM).
                                    mikelan98's Avatar
                                    mikelan98 mikelan98 is offline
                                    Bendiciones y buenas noches
                                       
                                      Join Date: Jan 2012
                                      Posts: 69
                                      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.
                                      Reply With Quote
                                      Reply

                                      Quick Reply

                                      Join the conversation!

                                      Create an account to post a reply in this thread, participate in other discussions, and more!

                                      Create a PokéCommunity Account

                                      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:24 PM.