• 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?".
  • Forum moderator applications are now open! Click here for details.
  • 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.

Research: [GENERAL THREAD] Pokémon Heart Gold/Soul Silver Hacking

2
Posts
16
Years
  • Seen Jul 23, 2015
Trainer Sprites location in the ROM

Hello folks,

There's been some great information presented in this thread so far, but there's one thing I am looking for that has yet to be provided: the location of the trainers' sprites (NOT the overworld sprites, but the ones you see when you enter the battle and they send out their Pokemon) within the HG/SS ROM's file structure. I suspect it's buried somewhere in the a/#/# folders, and if someone knows exactly which file I should be hunting after, I would be greatly appreciative.

Cheers!
 

dragonarche

Is back :D
458
Posts
15
Years
Are the maps still structured like in Pokemon diamond if so then
i got the map editing done :)

@Supercheese
welcome to pokecommunity "where people and Pokemon life together in harmony"
 
5
Posts
13
Years
  • Seen Apr 30, 2010
Hi,
This thread has been rather helpful for me to mess around with my HG rom, but I still did not manage to find some of the information what I was looking for: the location of the partner pokemon's overworld sprite that follows you around when you are travelling on foot ingame and the the list.txt file for pokedex for the partner pokemon's overworld sprite. (I'm looking for either one of these two, though I prefer the second choice.) If someone knows, would you mind helping me? Thanks in advance.
Edit: Is there any files in the data/a/x/x that contains the data of each pokemon's base stats? I would like to know that if possible too :)
 
Last edited:
67
Posts
15
Years
  • Seen Oct 12, 2013
Is there any files in the data/a/x/x that contains the data of each pokemon's base stats? I would like to know that if possible too :)
That's in personal.narc, but i don't know it's location in the rom besides the fact that it's buried in "a", somewhere. I gave up looking when PPRE got updated. It's not actually named "personal," though, that's just what it was called in past pokemon games.

For instance, I'm trying to figure out which file is the "arm9" file so I can do some starter pokemon editing, but the only thing i have to go on is the info on pages 2 & 8 of this thread (and a few random posts on project pokemon). So, the only way for me to figure out which file is arm9 (besides someone just telling me) is to decompress each file in "a" (that I'm unsure about), one by one, and then use a hex editor and the offset provided on page 8 to find the hex values I'm looking for.
 
Last edited:
1,254
Posts
16
Years
  • Seen Sep 12, 2016
Thanks for the help frogmyster3 and Champion Victoria!! ;]
Howto replace the back sprite/Trainer Card Sprite and VS Sprite...?
And what hacking-tool I'm gonna use this time?
 
Last edited:

smurph717

Programmer
22
Posts
13
Years
@dragonarche: No, the HG/SS maps are very subtly different from the Diamond maps. There's an extra value in the header that wasn't in DPP, and if it's greater than zero (it is on most maps), then there's another whole section in the file we know nothing about (yet :P).

@Potatomuffin: Sure, if you want to call blindly changing values in your hex editor without really (and do i stress REALLY) understanding what you're changing "editing" the map. I mean, yeah, you're editing it, but in your eyes all you're doing is changing a few numbers here and there so something changes on screen. Do you really *know* why what you're changing worked? (That's a rhetorical question; I've been following what you've been posting thinking you knew something interesting, and you definitely don't. :/ Sorry, mate.)

If you wanna know more, I should have a thread popping up shortly in the R&D subforum to check out. Also, I'm working on documenting the movement permissions/special tile flags, and I'll have more on that in the coming days. Oh, and I've done some digging into how the 3d models on the maps (like the little potted plants, doormats, houses, computer, etc.) work, and I'll put that information in pichu2000's thread. I'm thinking we need a spot to kinda consolidate all the info on the mapping, spriting, scripting, etc. systems (right now, it's spread over a bunch of threads here). Anyone have access to a good wiki?
 
5
Posts
13
Years
  • Seen Apr 30, 2010
That's in personal.narc, but i don't know it's location in the rom besides the fact that it's buried in "a", somewhere. I gave up looking when PPRE got updated. It's not actually named "personal," though, that's just what it was called in past pokemon games.

For instance, I'm trying to figure out which file is the "arm9" file so I can do some starter pokemon editing, but the only thing i have to go on is the info on pages 2 & 8 of this thread (and a few random posts on project pokemon). So, the only way for me to figure out which file is arm9 (besides someone just telling me) is to decompress each file in "a" (that I'm unsure about), one by one, and then use a hex editor and the offset provided on page 8 to find the hex values I'm looking for.

Unless I had missed out reading a post, I don't recall finding any offset for the base stats for the pokemon...

I will try to find it on my own though... =/
 
153
Posts
18
Years
  • Seen Jan 14, 2016
@dragonarche: No, the HG/SS maps are very subtly different from the Diamond maps. There's an extra value in the header that wasn't in DPP, and if it's greater than zero (it is on most maps), then there's another whole section in the file we know nothing about (yet :P).

@Potatomuffin: Sure, if you want to call blindly changing values in your hex editor without really (and do i stress REALLY) understanding what you're changing "editing" the map. I mean, yeah, you're editing it, but in your eyes all you're doing is changing a few numbers here and there so something changes on screen. Do you really *know* why what you're changing worked? (That's a rhetorical question; I've been following what you've been posting thinking you knew something interesting, and you definitely don't. :/ Sorry, mate.)

If you wanna know more, I should have a thread popping up shortly in the R&D subforum to check out. Also, I'm working on documenting the movement permissions/special tile flags, and I'll have more on that in the coming days. Oh, and I've done some digging into how the 3d models on the maps (like the little potted plants, doormats, houses, computer, etc.) work, and I'll put that information in pichu2000's thread. I'm thinking we need a spot to kinda consolidate all the info on the mapping, spriting, scripting, etc. systems (right now, it's spread over a bunch of threads here). Anyone have access to a good wiki?

We have already done these.
http://projectpokemon.org/wiki/Main_Page
There's map structure page, scripting commands etc...
 

smurph717

Programmer
22
Posts
13
Years
Weird, I had been there before and didn't find much game internals stuff, but now I see it all there.... Anyway, it would be nice to document the entire map structure with as much detail as, say, the movement permissions section. Thanks for the info, and if someone is interested in digging deeper into the maps with me, let me know!
 
5
Posts
13
Years
  • Seen Apr 30, 2010
Alright, I managed to find a personal.narc file in the directory data\pbr, but it doesn't seem to work when I used a program called PDEDS(used for DP personal.narc files) to try to edit the base stats of a pokemon. I'm not sure if it is due to I'm using a wrong program, or there is another pokemon's base stat file lying elsewhere.

It will be a great help if anyone can help confirm that the personal.narc file in the given directory IS the file this game is using as a base stat information. (which means that I could not get the base stat editting to work due the usage of the wrong program.)

I'll continue to look into this though...
 
2,048
Posts
16
Years
  • Age 31
  • Seen Sep 7, 2023
Alright, I managed to find a personal.narc file in the directory data\pbr, but it doesn't seem to work when I used a program called PDEDS(used for DP personal.narc files) to try to edit the base stats of a pokemon. I'm not sure if it is due to I'm using a wrong program, or there is another pokemon's base stat file lying elsewhere.

It will be a great help if anyone can help confirm that the personal.narc file in the given directory IS the file this game is using as a base stat information. (which means that I could not get the base stat editting to work due the usage of the wrong program.)

I'll continue to look into this though...

Can't you use a hex editor? The base stat data shouldn't be hard to decipher.
Anyway, I don't think that's the right file; doesn't the game contain unused copies of Platinum and PBR's data? If I recall correctly, the actual data is stored in the numbered files.
 
67
Posts
15
Years
  • Seen Oct 12, 2013
Anyway, I don't think that's the right file; doesn't the game contain unused copies of Platinum and PBR's data? If I recall correctly, the actual data is stored in the numbered files.
This is correct.

I'm still trying to figure out what i need to do to be able to change the starters from Chokirita, Cyndaquil & Totodile to Eevee. I've been searching google, searching forums, and asking all kinds of people for advice, but I'm still not doing something right.

I have CrystalTile2 and have searched through the rom several times without finding the correct offset for this information. Does anyone here have any experience with changing the starter pokemon in 4th gen games? You'd think there'd be a guide or something SOMEWHERE but I haven't been able to do this on my own, so far...

I know the hex values for the starters are 98 9B 9E, so you'd think it wouldn't be too hard to find, but I think I must be using the wrong kind of rom or... something, I dunno.
 

Potatomuffin

The One And ONLY!!!
58
Posts
15
Years
Also, I'm working on documenting the movement permissions/special tile flags, and I'll have more on that in the coming days. Oh, and I've done some digging into how the 3d models on the maps (like the little potted plants, doormats, houses, computer, etc.) work, and I'll put that information in pichu2000's thread.

Did you make a list of all models and their numbers? because i was thinking of making a model list for hgss like last time...
 

smurph717

Programmer
22
Posts
13
Years
Did you make a list of all models and their numbers? because i was thinking of making a model list for hgss like last time...

That will come after I document the file format and get my map viewer working properly. Although, it could probably be done by simply reading the map matrix.... Not sure about that though, I haven't really looked into how that works yet.
 
4
Posts
13
Years
  • Seen May 18, 2010
I have discovered that the trainer battle backs are located in a/0/0/6. I am able to open them in PokeDSPic. However, there is a problem: I think something with the palette is messed up, as the image appears all fuzzy and with the wrong colors. Though I am able to make out the trainer and can confirm that this is indeed the trainer back sprite, it is not editable in this state. If anyone can figure out a way to get the palette correctly, it would be most appreciated. This is by no means a high priority issue for me, so no rush. Thanks for your help, guys. :)

EDIT: Ah ha, nevermind. I got it. I even was able to edit the infamous third frame.
 
Last edited:
3
Posts
14
Years
  • Seen Apr 2, 2013
I have discovered that the trainer battle backs are located in a/0/0/6. I am able to open them in PokeDSPic. However, there is a problem: I think something with the palette is messed up, as the image appears all fuzzy and with the wrong colors. Though I am able to make out the trainer and can confirm that this is indeed the trainer back sprite, it is not editable in this state. If anyone can figure out a way to get the palette correctly, it would be most appreciated. This is by no means a high priority issue for me, so no rush. Thanks for your help, guys. :)

EDIT: Ah ha, nevermind. I got it. I even was able to edit the infamous third frame.
How did u do this?? I've been trying to replace backsprites in hg/ss since the Japanese release. Can u tell me how u did it?
 
4
Posts
13
Years
  • Seen May 18, 2010
Yeah. Okay, first, you need the program Tahaxan and the right .dll files. Let me know if you have trouble finding those. Then, you need DSLazy, or another program capable of unpacking the rom. Then, make a copy of your original rom. This copy is the one you will be hex editing your new sprites into. Once you have it unpacked, put a .narc extension on the file named "6" in A\0\0. Then use DSLazy to repack the NDS_UNPACK, and make a rom with the .narc extension on that file. This won't be playable, but it will be openable in Tahaxan. Alright, the next step is to open your edited ROM in Tahaxan. Go to the A\0\0\6 file. See how it has that .narc extension? That was the point of the first few steps. Open that, and you will find the palette and sprite files for all of the trainer backs. By right clicking on one, you can Extract it from the rom. Make note of the Hex Offset of where that file is located; you're going to need that to Hex Edit your edited sprite back in. Now, when I did this, I was simply replacing the heroine's back with a different one. If you want to replace it with a sprite made from scratch, you'll need to get it in the right format, and I can't help you with that; you're going to have to figure that out on your own. It might work if you used PokeDSPic to insert the back into a Platinum ROM, and then opened THAT rom in Tahaxan, and extracted it once it was in the correct format. Just make sure it's the perfect amount of data: 25648 bytes for the sprite, and 552 for the palette. Anyway, once you have the files you want to insert (both the sprite and the palette,) find the back that you want to replace, and write down the offset for both it and its palette. Now we're going to need a Hex Editor. I use Hex Workshop, but you can probably find another that would work a well. Open up your ORIGINAL rom, from before you added the .narc extension. (This is why we made a copy.) Find the hex offset for what you wrote down, and simply replace that data with your edited data. Make sure you do the same for the palette; usually, the palette's data is immediately after the sprite's data. Also, occasionally the offset given by Tahaxan isn't exactly right; by extracting the data you want to replace with Tahaxan, you can look at it in your Hex Editor and make sure that you replace exactly the right data. Make sure you don't replace anything in the wrong offset; you might screw up some other file. Anyway, once you've replaced the data, you're finished! This all sounds a little complicated, I know, but once you've done it once or twice, you get into the swing of things, and can do it fairly easily.

Oh, one last thing: if I remember correctly, the hero and heroine back sprites are in the .narc file twice. I believe the second one is the one you have to replace, but you can replace both if you want to be on the safe side.

Good luck! Let me know if you need any more help.
 
Back
Top