Jump to content

[Tutorial] Insert custom Pokemon sprites into HG/SS! [Better than unLZ/APSE!]


Recommended Posts

Hello there!
And welcome to my second tutorial for PokeMMO!
 

I decided to make a tutorial on how to insert Pokemon sprites but not for GBA but for the DS instead!

Turns out it isn't that hard at all but still haven't seen a modder doing this...
 
 

So why why are DS sprites superior than GBA sprites?

  • Each sprite in the GBA version is limited to 64x64 pixels BUT DS sprites are limited to 80x80 pixels!
  • There is not much difference in how GBA and DS sprites are loaded by the game: You will probably be familiar with it already
  • The downloaders of your patch will not need to "switch the DS graphics off"
  • Less glitches, why? Because the DS system uses NARC (archive) technology meaning that each NARC can't overwrite other NARCs.
  • Same above applies for inside the NARC! It's like WinRAR: A NARC contains files (for each pokemon) and can't overwrite the next file!
  • Your pokemon sprites patch will be of higher quality because you have more space to draw in, meaning that the image do not have to be reduced!

 

This tutorial will explain to you how you can:

  • Rip PNG sprites out of the HGSS rom
  • Edit them using your favorite image editing software (I use photoshop)
  • Insert a sprite (indexed 16 colors) into your HGSS rom
  • Patch your HGSS rom so you can upload it

 

Alright so let's get started!

 

First get these tools:

 

 

In the editing pack you'll find 4 files:

  1. xDelta GUI - Contains 2 files, we will only use the GUI file to make a DS patch
  2. README FOR NARC.txt - Contains what NARC you need to extract
  3. PokeDsPic HGSS.exe - This is the program that should open the NARC and is used to read, extract and write PNG files from and to the NARC
  4. NitroExplorer2b.exe - This program can open your HGSS rom and extract a NARC from it - Might be useful for many purposes when you want to edit a DS rom
  5. NDS Editor 0.1.exe - This program is like WinRAR but for NARCs: It opens a NARC and can extract the files from the NARC. It is not needed here.. But might be useful anyways if you want to explore a NARC or if you want to edit a DS rom

 

Tutorial 1/ Ripping PNG sprites from HGSS
So now you have the tools, I'll first explain you how to rip music to midi format:
(This is very easy, fast, and short)

Spoiler

Tools needed: Nitro Explorer, PokeDsPic

Files needed: A HGSS rom
Difficulty: Very basic
 

Instructions:

  1. Open up your HGSS rom with Nitro Explorer and go to a/0/0/4, click extract and save it as "4.narc"
  2. Now open your 4.narc file with PokeDsPic select an image from the drop down box [itemXXX (XXXX)]
  3. Click SavePng.. and save it where you want to save it
  4. Done!

 

Note: Very often item[XXX+1] ([XXXX]) is the female/male version of  item[XXX] ([XXXX]), you only have to extract one but if you want to replace them later on replace both items

.
extractnarc_zpsdfae38cd.png

Extracting a NARC file from the HGSS rom with Nitro Explorer
 

savepng_zpsba4242e4.png

Extracting a PNG file from the 4.narc file with PokeDsPic

Tutorial 2/ Editing the PNG file with your favorite image edtor
So you managed to extract the PNG from the NARC file?

Great! lets edit it!

Spoiler

Tools needed: Image editing software

Supported editing software: Photoshop, Paint (win XP)

NOT supported editing software: Paint (win 7/8)

Note: If you know any software that could edit (or not!) indexed files without screwing up the indexed palette - Please respond to this thread about what software you use! The bigger the software database the better for everyone!

Files needed: Extracted PNG file from tutorial 1, PNG file you want to insert

Difficulty: Basic - Medium

 

Instructions:

  1. Open your extracted PNG file with your image editor, I'll be using Photoshop
  2. Open your custom PNG file you want to insert
  3. Copy the custom image (with transparent background) you want to insert into the extracted PNG and resize your CUSTOM PNG if needed (I resize with paint on Windows 8)
  4. Place it correctly on both the images in the extracted PNG the first one is the first frame, second one second frame (when PokeMMO support animations you can make animated pokemons!)
  5. Erase what is left from your extracted PNG file (the oldest image not the new one you want to add to your DS rom..)
  6. Merge layers and save
  7. Done!

 

Notes and Warnings:

  • You should NOT change the size, of the image (let it stay 160*80) I think it will mess up if you do.. (Havent tried it out for a DS rom though!)
  • Custom sprite doesn't have to be indexed.. You must make it the same background though
  • Each frame uses a 80*80 image inserting a 80+*80 image will make the first frame image be cut and pasted in the second frame

 

Resources:

  • A great resourceful website to insert BW sprites/GBC sprites or completely custom sprites is The Spriters Ressource

 

38_zpse5664620.png                              ->                              29593_zps71808759.png             

HGSS sprite I want to edit                                                                 Custom sprite I want to insert credits go to JoshR691 for the sprite

 

38_zps9d4381d3.png

The result!

 

 

Tutorial 3/ Insert an indexed sprite into your HGSS rom
Ahh! So you have made your indexed sprite with tutorial 2!
Great! Now let's insert that creamy goodness of D00M!

Spoiler

Tools needed: PokeDsPic, Nitro Explorer

Files needed: Custom indexed,resized and rom ready PNG file, your HGSS rom

Difficulty: Basic - Medium

 

Instructions:

  1. Open your 4.narc file made in tutorial 1 with PokeDsPic
  2. Go to the item you are editing
  3. Click OpenPng.. and select your rom ready png made in tutorial 2
  4. Go to File > Write to narc..
  5. Do the same for item[number+1] (XXXX)
  6. File > Write to narc.. again
  7. OPTIONAL BUT RECOMMEND FOR FIRST TIME: Close PokeDsPic and reopen it, go to the same item and see if it saved
  8. Backup HGSS rom, make a copy of it (REMEMBER: Always keep the oiginal unchanged rom for patching purposes! Also do not put your backup rom in the roms folder! The client might load your backup instead of loading your modded rom!)
  9. Open your HGSS rom with Nitro Explorer and go to a/0/0/4 and click on "Réinserer"
  10. Select your modified a/0/0/4 file, the rom is saved automatically
  11. Check out the pokemon in the PokeMMO client if it worked
  12. Done!

 

openpng_zpsec35072c.png

Writing to the narc and inserting it into your rom

 

screenshot_1414102465_zps1bedb9bd.png

The result! Notice how DS Sprites is active but you still see your custom sprite? The small glitches are due to the quick editing of the image, but you can easily replace some colors with other colors (used in the custom indexed sprite) to fix it.. To make a better shiny you should extract the shiny image and edit the palette (NOT the image!) which can be done with many different image editing software.

 

 

Tutorial 4/ Make a DS patch file
Great! You finally edited your rom and wants to upload it to the internet so people can enjoy your work!

Now this is easy, this is how you make the DS equivalent of an IPS patch..

Spoiler

 

Tools needed: xDelta GUI

Files needed: Original unmodified HGSS rom, modified HGSS rom

Difficulty: Basic

 

Instructions:

  1. Open xDelta GUI.exe file and click on the create tab
  2. Load your Unedited HGSS ROM and your New HGSS ROM
  3. Press Create patch
  4. You now have a .patch file in the same folder as where xDelta GUI is
  5. RAR it, upload it, post it on the forums and you're done!

 

xDeltagui_zpsbdf33133.png

The xDelta GUI interface and the created .patch file

 

 

 

Why did I make this guide?

I made this guide because I wanted to share a little bit of knowledge but also because I wanted to punch the modding community a little bit forwards..

It is my hope that people will use this guide to make their first DS rom patch ever but I also hope that advanced users will use this to transform their GBA patch into a DS patch for the added space and convenience. I truly hope this inspires people to make more and better patches and that maybe one day we get a Moemon DS patch, a Scribblemon DS patch, a Zombiemon DS patch, a Gen V/VI DS patch and much much more.. May the creativity be their only limit! Which is endless by the way ;)

 

 

ENJOY!

If you find any wording mistakes please tell me

If you have any question post your question

Link to comment

Alright, first off, this is great and I really do appreciate your work and effort put into this.

 

BUT! Speaking for myself, and only myself, patching DS ROMs is waaaaaaaaay more tedious then patching GBA ROMs.  It's also more difficult and people have to work with entirely new tools on a new base that are not even close to as intuitively designed as GBA hack tools.  Now, since I kind of actually do have some credibility on this topic (first time for everything) and I have actually tried doing this in the past, I can say (only for myself) that patching the DS ROM is not really worth the time of patchers.  At least in terms of graphics patches, not being able to handle sprites in bulk makes the whole patching process MUCH more painful.  Seriously, to update my patch, all I need to do is take the updated sprites, drop them into APSE and save.  With DS tools on the other hand, you have to find the NARC file, which just sucks, open it, load up your new 80x sprite (which by the way none are in that form currently) save, and then move onto the next NARC file for the next pokemon.

 

What I'm trying to say is that, to me, it's just not worth it.  With time, the DS tools will no doubt be much better, and there will be much better explanations and guides on how to patch DS ROMs, but until then, I'll stick to GBA.

Link to comment

Alright, first off, this is great and I really do appreciate your work and effort put into this.

 

BUT! Speaking for myself, and only myself, patching DS ROMs is waaaaaaaaay more tedious then patching GBA ROMs.  It's also more difficult and people have to work with entirely new tools on a new base that are not even close to as intuitively designed as GBA hack tools.  Now, since I kind of actually do have some credibility on this topic (first time for everything) and I have actually tried doing this in the past, I can say (only for myself) that patching the DS ROM is not really worth the time of patchers.  At least in terms of graphics patches, not being able to handle sprites in bulk makes the whole patching process MUCH more painful.  Seriously, to update my patch, all I need to do is take the updated sprites, drop them into APSE and save.  With DS tools on the other hand, you have to find the NARC file, which just sucks, open it, load up your new 80x sprite (which by the way none are in that form currently) save, and then move onto the next NARC file for the next pokemon.

 

What I'm trying to say is that, to me, it's just not worth it.  With time, the DS tools will no doubt be much better, and there will be much better explanations and guides on how to patch DS ROMs, but until then, I'll stick to GBA.

I see what you mean

But it depends completely on the patch your are trying to update

 

This tutorial is great for people that:

  • Use big sprite files, like gen V/VI sprites
  • Are starting a new patch

 

Anyways about the speed it is the almost the same than with GBA

You need to extract the NARC only once, and I gave the address to it: a/0/0/4

 

Next PokeDsPic is like unLZ-GBA/APSE but only for the pokemon sprites

PokeDsPic reads the palette info in the PNG file when you want to insert it, which is like unLZ-GBA/APSE

 

DS editing tools are pretty good already, and I haven't seen much new since the X/Y game. We can edit 3D maps, poke data, scripts, mugshots, sprites, overworlds and even music now!

This guide fully explains on how to use each tool and you'll quickly find a similarity: It is almost like editing a GBA game, but less restrictions

 

Now I can understand that updating your patch is horrible as you have to do most of your work again, but this tutorial is more designed for people that need to insert bigger sprites.

Patch updates can always be done when bigger sprites are needed and this tutorial will arm you with the knowledge and tools to do so

Link to comment

Hate to break it to you, but APSE does, in fact, adapt your palette :)

Regardless, as previously stated, this is a fantastic guide for anyone that wants to make a DS patch

I know but I meant that PokeDsPic shares the same functionality as APSE: Reading your indexed PNGs palette :P
Link to comment
  • 1 year later...

Ok, So I made a custom Pidgeot sprite and when I used PokeDsPicPlatinum, and I had GIMP set to Indexed mode, used the colors from the original by using the "Color Picker Tool" (as you can guess it takes a color I clicked on from Pidgeot) To edit it's design, and PokeDsPicPlatinum said that the custom sprite is NOT 8bpp Indexed. To test if the program wasn't glitched, I inserted an unedited sprite and no error message popped up. I don't understand what went wrong with the color palette I used. (Literally the original sprite) Here is the custom sprite I made in GIMP toshow you the sprite so you can save it and fumble with it to be comparable with the game and PLEASE tell me what I did wrong so I  can do this on my own!

Pidgeot%20111_zpstgbtfdrc.png

 Pidgeot%20109_zpsh8gtwlrq.png

Edited by Nelson
More Pictures
Link to comment

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...

Important Information

By using this site, you agree to our Terms of Use and Privacy Policy.