PDA

View Full Version : [Tutorial] Hacking Pokemon Diamond and Pearl (Hex)


pichu2000
October 14th, 2008, 05:09 AM
Hi, I'm pichu2000 and I want to tell you what I know on hacking DPP and HGSS(All languages) (Sorry for my bad English, I'm Italian)

PREPARATION

For hacking Pokemon Nds Roms you must have these things:


An Hex Editor(I suggest Crystal Tile 2 (http://www.megaupload.com/?d=B3YGKBIV))
A ROM of DPP or HGSS
A lot of patience

IMPORTANT! MAKE A ROM BACKUP BEFORE HACKING!
NDS FILE SYSTEM

Open the Rom with Crystaltile 2, click F6(For open hex editor) and click Ctrl+N (Or the little icon in the shape of Nds).
You could see a little Windows with a series of lines. Go on the forth Menu(?????V) and clicking on the first name(?????T). Now we should see a series of directories.

1. MAP DATA
Maps are located into field-data/land-data/land data release.narc(Dpp) or a/0/6/5(Hgss) (For opening a NARC file, push right button and select forth options)
Now we see a lot of file(land-data release 0, land data release 1 etc...)
These are the maps!
A map is divided into multiple section.
A map starts with an header lne(0x16 byte) that rapresented the size of every section.
First section edits Movement Permissions
Second section edits the 3d object inserted in the maps. In fact buildings,lamps and other object are parted from the main model map.
We usually find a model in this form:
We see first model in this form :
0x0-0x4 Model Number(Linked with NSBMD file id into Build_Model.narc(dpp) or bm_field and bm_room(hgss))
0x5-0x8 X Coordinates
0x9-0xC Y Coordinates
0xD-0x10 Z Coordinates
0x11-0x1C Unknow bytes
0x1D-0x20 Model widht
0x21-0x24 Model height
0x25-0x28 Model wheight

The third section is a NSBMD model(Search kiwi.NSBMD model documentation)
The forth section, BDHC, tell us if there's stairs or elevated part of maps. We need still research about it.

2. EVENT DATA

I found event data(warp, signs, people) in zone_event-release.narc(dpp) or a/0/1/2(hgss)
Events are very similar to gba data.
An event file is usually divided into forth section.

First section contains Overwords data.
Overwords are showed as:
0x0-0x2 Overword Id
0x2-0x4 Overword Sprite
0x4-0x6 0verword Movement
0x6-0x8 Unknown Bytes
0x8-0xA Script Flag
0xA-0xC Script Number
0xC-0xE Unknown Bytes
0xE-0x18 Line of Sights(Trainer)
0x18-0x20 X coordinates
0x20-0x22 Y coordinates
0x22-0x24 Z coordinates

Second section is warps
Warps are showed as
0x0-0x2 X coordinates
0x2-0x4 Y coordinates
0x4-0x6 Map Id
0x6-0xa Maybe Warp Flag

Third section is signs
Signs are showed as
0x0-0x2 Script
0x2-0x4 Unknown
0x4-0x8 X Coordinates
0x8-0xC Y Coordinates
0xC-0xF Z Coordinates


Forth part contains Triggers
Triggers are showed as:
0x0-0x2 Script
0x2-0x4 X Coordinates
0x4-0x6 Y Coordinates
0x6-0x8 Width
0x8-0xA Lenght
0xA-0xC Weight
0xC-0xF Flag Number

3. SCRIPTS DATA

Now, scripts data are relocated in scrip-seq-release.narc(a/0/3/2 for hgss).
A script file is divided in two main section of variable lenght, divided by a particular costant,0xFD13
The header, that contains the lenght of every script.
The commands section, that contains all the script.

Commands

Commands are characterized by the command id, followed by 0+ parameters.
Almost all the commands has a predefined number of parameters.
Some has variable parameters, different each time.
We know the 80-85% commands used into dpp, and the 40% used into hgss.

4. MSG DATA

Msg data are inserted into msgdata/msg.narc(dpp) and a/0/2/7 (hgss)
We can extract them with thenewpoketext program, so search a tutorial for it for see how.

5. GRAPHIC DATA

Editing Graphic into forth generation is very simple.
If we open some narc, we can find a NCGR file(RCGN or Tile File), followed usually by a NCLR(RCLN or Palette File) and sometimes by a NCGR(RCGN or Map File), and other two uneditable files(NANR or Animation File and NCER or Cell Animation File).
In Crystaltile we only go on a Tile file, press BackSpace, then go on a Palette file, and press Backspace, and if we find the NCGR, make the same thing.
Then we can see the image onto the window of the rom.
Press Ctrl+e and export image as bmp. Edit with paint, and click Ctrl+I, and we only need to save the rom.
We need pay attention to not change the palette based map, and respect also the tile.

Some images are compressed(NCGR.L), like pokedex screen and other.
We need to decompress the three file associated (right click and press U() option), rebuild a new rom with dslazy, edit image like we done previously, save the three file uncompressed(right click and press E() option), open Crystal tile, go to T and Lz77 compression, select the three file(one for one), and rebuild the new rom.
This is more complicated, but it's the only way to edit the compressed graphic.

Now i insert a file contained a lot of useful list that i made.
(Some are incompleted)

Gamer2020
October 14th, 2008, 09:11 AM
This is cool.
But I wish I could wrap my head around it.
Maybe someone could design a tool using this data to make it easier...

-DarK-
October 14th, 2008, 10:00 AM
This is cool.
But I wish I could wrap my head around it.
Maybe someone could design a tool using this data to make it easier...

Easier said than done....

Gamer2020
October 14th, 2008, 10:13 AM
I never said it wasn't...

Joey the Cockroach
October 14th, 2008, 11:25 AM
this is great to what you can find in hex.... it is great, i can say. finding values in hex is quite hard but achieveable. nice one Pichu2000.

Lady Berlitz
October 14th, 2008, 01:01 PM
Wow, very nice. At the moment, it's not very useful to a lot of ROM hackers out there until tools are made.
Eventually, this will help more experienced, hex editing hackers with their tools, or other stuff.

Thanks for posting this, pichu2000.

Salamol_Goldfish
October 14th, 2008, 07:14 PM
Yea, this is cool. Im going to make a diamond hack :)
My friend gabe might help me:D

liuyanghejerry
October 17th, 2008, 06:50 AM
It's really a good start,but a tool is really needed,or we must swim into the hex...

Anyway,good job~

Argent Crusader
October 17th, 2008, 07:21 AM
Really nice tutorial! It's a very good documentation. If LU-HO comes here and sees this, it may be interesting. This data is enough to make a little and basic map editor (I guess).

pichu2000
October 18th, 2008, 04:05 AM
Really nice tutorial! It's a very good documentation. If LU-HO comes here and sees this, it may be interesting. This data is enough to make a little and basic map editor (I guess).

Thanks Kike, but there is a lot of work to do yet

Can someone helping me in this works?

LU-HO
October 18th, 2008, 05:08 AM
hello all
yes, nice to hear ;-)

the problem is, i'm working on an new version of AdvanceMap at the moment, and i have only 2 hands.^^

I'm more interested in the Advance-Generation, i have much to do for these Roms...

But i bookmarked and saved these tutorial on my PC, if i found time i will try to make a DPMAP also.

pichu2000 tanks for this. but sorry i cannot help on Analyse the data, to busy ...
but i'm interested on updates for it ;-)

greetz LU-HO

Lady Berlitz
October 18th, 2008, 05:31 AM
hello all
yes, nice to hear ;-)

the problem is, i'm working on an new version of AdvanceMap at the moment, and i have only 2 hands.^^

I'm more interested in the Advance-Generation, i have much to do for these Roms...

But i bookmarked and saved these tutorial on my PC, if i found time i will try to make a DPMAP also.

pichu2000 tanks for this. but sorry i cannot help on Analyse the data, to busy ...
but i'm interested on updates for it ;-)

greetz LU-HOA "DPMAP", huh? Sounds interesting.
I can't wait for the day there will be a 4th Generation mapping tool.

BUT, this is a very useful document, pichu2000.

CR0SELL
October 26th, 2008, 12:06 PM
Hey Pichu2000, Im also currently looking for offsets. If you have an MSN, Pm it to me, then we could share our finds, and release more data, so one day, there will be a scripter for DP.

poddish
October 26th, 2008, 03:01 PM
The thing about this is, before the advance generation and all the tools for it came out, ALMOST everyone relied more on hex editing than on tools. Because of this, few hacks were made because it was hard to hack, and the hacks that were completed were usually better than the ones made now (assuming graphics and number of pokemon don't matter, although it was possible to add more slots in r/b/y if you move the trainer sprites somewhere else, I know this because I saw coolboyman's new "final" version of pokemon brown on youtube, and he had 251 pokemon, IN A RED HACK, good job coolboyman!) Anyway, the hacks were usually better because they changed a LOT more than we ("toolhackers) (like me) can do with the tools, because someone's not going to make a tool for some nobody hacker just because he/she asked. Besides, what about the fact that tools can't completely change everything about something because they're limited by the skill of the creator and user.

Anyway, I hope to see some d/p hacks that don't rely on tools soon...

CR0SELL
October 26th, 2008, 07:33 PM
The thing about this is, before the advance generation and all the tools for it came out, ALMOST everyone relied more on hex editing than on tools. Because of this, few hacks were made because it was hard to hack, and the hacks that were completed were usually better than the ones made now (assuming graphics and number of pokemon don't matter, although it was possible to add more slots in r/b/y if you move the trainer sprites somewhere else, I know this because I saw coolboyman's new "final" version of pokemon brown on youtube, and he had 251 pokemon, IN A RED HACK, good job coolboyman!) Anyway, the hacks were usually better because they changed a LOT more than we ("toolhackers) (like me) can do with the tools, because someone's not going to make a tool for some nobody hacker just because he/she asked. Besides, what about the fact that tools can't completely change everything about something because they're limited by the skill of the creator and user.

Anyway, I hope to see some d/p hacks that don't rely on tools soon...


Umm, I was saying that I can help him find offsets, so we can work together. I wasnt asking him for offsets...

pichu2000
October 27th, 2008, 05:08 AM
Well

I'm trying to make a simple dp map editor
but I don't know very much about programming
I wanna someone helping me to make the program, so also another man helping me to find the offset
because I must study very much in this year and I haven't much time to spend hacking

Anyone wanna help me?
P.m(Crosell i can't send you private message, you don't allowed this feature)

WaterSplash
November 11th, 2008, 09:29 AM
Very nice, pichu2000. I'm going to try looking these offsets up and seeing what I can alter. This should lay a good foundation for changing the maps, with or without an editing program.

pichu2000
November 12th, 2008, 07:45 AM
I need help from anyone can give a hand. I must study in this period so I can't update map list, etc...
I Really need nosgba debugger to make some progress, but the author is disappeared
There's anyone that can send me this wonderful tool?
It would be a beautiful dream
Thanks

gamefreakfatty
November 12th, 2008, 11:41 AM
I need help from anyone can give a hand. I must study in this period so I can't update map list, etc...
I Really need nosgba debugger to make some progress, but the author is disappeared
There's anyone that can send me this wonderful tool?
It would be a beautiful dream
Thanks

If I can, I would like to request it too. I was looking for it a long time ago, around when he first disappeared and stopped updating. His PayPal account is closed so I can't even try.

SCV
November 13th, 2008, 12:21 PM
I need help from anyone can give a hand. I must study in this period so I can't update map list, etc...
I Really need nosgba debugger to make some progress, but the author is disappeared
There's anyone that can send me this wonderful tool?
It would be a beautiful dream
Thanks
Well, Martin is VERY strict with his rules about not sharing no$gba debug. Even though he seems to have disappeared, I don't feel comfortable sharing mine.

I sent him and email asking what can be done so that you (and a few other people I know) can get a copy of no$gba debug. If he does not respond after some time, I will consider giving you a copy of mine.

However, if you don't know much about programming, I doubt it will be useful to you.

gamefreakfatty
November 13th, 2008, 03:34 PM
Well, Martin is VERY strict with his rules about not sharing no$gba debug. Even though he seems to have disappeared, I don't feel comfortable sharing mine.

I sent him and email asking what can be done so that you (and a few other people I know) can get a copy of no$gba debug. If he does not respond after some time, I will consider giving you a copy of mine.

However, if you don't know much about programming, I doubt it will be useful to you.

Thank you! That would be a great help to those of us who are still working at hacking D/P/P. I emailed him almost a year ago about the PayPal situation. I haven't checked for around two months to see if it is back up yet, but the last time I checked it was still not working.

pichu2000
November 14th, 2008, 09:28 AM
MINI UPDATE
I DO SOME PROGRESS REGARDING SIMPLE POLYGONS
I CAN MOVE FLOWERS AROUND THE MAPS!
http://img183.imageshack.us/img183/1703/fiorispostatimc3.png

SCV
December 7th, 2008, 12:56 PM
Hi Pichu2000, I was wondering whether you new how to find the script associated to a particular event.


For example, this is the galactic grunt at valley windworks:
06 00 00 00 00 00 7C 00 0F 00 00 00 AC 01 03 00 01 00
03 00 00 00 00 00 00 00 00 00 F3 00 8F 02 00 00 00 00

How would I find the script that corresponds to this event?



Here is some more stuff:
These are the Person events from the Sky Pillar.

The first two bytes of what I bolded seem to be script numbers. However in some places those are completely blank.

Notice that two of the events have the same first two bytes, this is because of the two double battles.
However there man
00 00 7D 00 0F 00 00 00 E6 01 06 00 01 00 00 00
00 00 00 00 00 00 00 00 1E 00 30 00 00 00 00 00
01 00 78 00 00 00 00 00 E8 01 01 00 01 00 00 00
00 00 00 00 00 00 00 00 1F 00 1C 00 00 00 00 00
02 00 79 00 0F 00 00 00 E7 01 0C 00 01 00 00 00
00 00 00 00 00 00 00 00 21 00 20 00 00 00 00 00
03 00 7C 00 0F 00 00 00 E6 01 06 00 01 00 00 00
00 00 00 00 00 00 00 00 20 00 30 00 00 00 00 00
04 00 7B 00 0F 00 00 00 E7 01 0B 00 01 00 00 00
00 00 00 00 00 00 00 00 1D 00 20 00 00 00 00 00
05 00 66 00 00 00 00 00 E2 01 01 00 01 00 00 00
00 00 00 00 00 00 00 00 1F 00 15 00 00 00 00 00
06 00 94 00 00 00 00 00 E3 01 01 00 00 00 00 00
00 00 00 00 00 00 00 00 1E 00 23 00 00 00 00 00
07 00 65 00 00 00 00 00 E4 01 07 00 00 00 00 00
00 00 00 00 00 00 00 00 1D 00 23 00 00 00 00 00
08 00 63 00 00 00 00 00 E5 01 08 00 01 00 00 00
00 00 00 00 00 00 00 00 1D 00 24 00 00 00 00 00
09 00 97 00 00 00 00 00 EC 01 00 00 01 00 00 00
00 00 00 00 00 00 00 00 1F 00 10 00 00 00 00 00
0A 00 98 00 00 00 00 00 ED 01 00 00 01 00 00 00
00 00 00 00 00 00 00 00 19 00 17 00 00 00 00 00
0B 00 99 00 00 00 00 00 EE 01 00 00 01 00 00 00
00 00 00 00 00 00 00 00 25 00 17 00 00 00 00 00
0C 00 57 00 00 00 00 00 FF 03 55 1C 00 00 00 00
00 00 00 00 00 00 00 00 1F 00 0A 00 00 00 00 00
0D 00 57 00 00 00 00 00 01 04 56 1C 00 00 00 00
00 00 00 00 00 00 00 00 1F 00 0A 00 00 00 00 00

P.S. I decided that I am not going to leak no$gba debug. I don't know what happened to Martin but after taking to a few other people who own it, I decided that it would not be good to share. If you tell me how you intended to use it to make progress, I can try to study that.

I am going to get more active into studying scripting and events, so I will love to help you develop this topic.

pichu2000
December 8th, 2008, 05:31 AM
Thanks Scv!

Miniupdate
I found how to edit script's movement
These are showed in this way
NN(Type of movement) 00 XX(movement repetition) 00 ....
For example Twinleaf town rival script(0x1d9fda0)

47 00 01 00 0D 00 01 00 48 00 01 00 FE 00 00 00
4B 00 ......

47 rapresented hero's movement(When crash with something)
0D rapresented hero's back jump
48 rapresented same hero's movement 47
FE idem
4B rapresented rival esclamation....

SCV
December 11th, 2008, 08:46 AM
I take back what I said above about the first two bytes. They must be related to the script somehow, but I don't know how. The script is actually the last two bytes of what I bolded as stated in the original post.

I have found how trainer battles are scripted. I will update later with some examples. These are done in two different ways. One strictly from the event file and another through the scripts.

Pichu2000, do you know if there is any place that stores which event files and script files are associated for a certain map?

pichu2000
December 11th, 2008, 12:21 PM
I take back what I said above about the first two bytes. They must be related to the script somehow, but I don't know how. The script is actually the last two bytes of what I bolded as stated in the original post.

I have found how trainer battles are scripted. I will update later with some examples. These are done in two different ways. One strictly from the event file and another through the scripts.

Pichu2000, do you know if there is any place that stores which event files and script files are associated for a certain map?

No I don't konw yet... I found events and script trying and trying...

SCV
December 12th, 2008, 02:09 AM
OK, here is an example of trainer battle events and of trainer battle scripts.

These are trainers in Route 202.

00 00 04 00 0F 00 01 00 00 00 B8 0B 01 00 05 00
00 00 00 00 00 00 00 00 A6 00 2D 03 00 00 01 00
01 00 06 00 0F 00 01 00 00 00 BA 0B 01 00 04 00
00 00 00 00 00 00 00 00 B5 00 32 03 00 00 01 00
02 00 04 00 0F 00 01 00 00 00 B9 0B 01 00 05 00
00 00 00 00 00 00 00 00 B9 00 24 03 00 00 01 00
For certain battles, the battle is linked from the event file by using a number between 0xBB8 and 0xF09. These battles are ordered according to trdata.narc and trpoke.narc

This is the second battle with Cyrus:

E5 00 94 01 00 00 EC

If you search the script file for E500 you will get 102 instances. Not all of these are trainer battles. Only the ones that have a number between 0x1 and 0x1 and 0x351.

A warp is showed in this way

74(bOH) 6B 03(Animation) 9C 01(Maps in which you are going to go)

Here's a list of Warp - Maps


This should be

74 00 6B 03 9C 01 00 00
[2 bytes for X coordinate] [2 bytes for Y coordinate] [two bytes for Map Number] [2 bytes for warp number within that map]

Will update later with a bit more about the structure of event files.

EDIT:
As promised, here is some information on the structure of the event files.

The event files have 4 sections.
As of now I don't know what the first and last are for but I will figure it out.

The file starts out with 4 bytes telling you how many of the first type of events there are. Then each entry is 0x14 bytes long.
Then come 4 bytes telling you how many "person" events there are. Each person event is 0x20 bytes long.
Then come 4 bytes telling you how many warps there are. Each warp event is 0xC bytes long.
Then come 4 bytes telling you how many of the fourth type of events there are. Each of these events is 0x10 bytes long.

Not all locations use all of these types of event. When a type is not used the 4 bytes which tell you how many of that type there are will be 00000000, then then next 4 bytes will be how many of the next type of event there are.

There are a few event files which don't have any events at all. The look like:
00000000 0000000 00000000 00000000

lugialucario
January 3rd, 2009, 10:31 AM
Pichu2000 your tutorial is super, but I don't know how to change the hero's sprite. I would like change the sprite of hero in the sprite of Lucario guy. Can you help me please? What hexa code can change the sprite and the line where the code must to change. (sorry for my english, I learn in school in Switzerland)

SCV
January 3rd, 2009, 11:23 PM
Pichu2000 your tutorial is super, but I don't know how to change the hero's sprite. I would like change the sprite of hero in the sprite of Lucario guy. Can you help me please? What hexa code can change the sprite and the line where the code must to change. (sorry for my english, I learn in school in Switzerland)
Are you talking about the trainer battle sprite or the overworld sprite?

lugialucario
January 5th, 2009, 10:17 AM
I would like the both sprite if it's possible

SCV
January 5th, 2009, 12:26 PM
I would like the both sprite if it's possible

I posted a list of the pokeball throw sequences here: http://www.pokecommunity.com/showpost.php?p=4238206&postcount=1507

Look in the thread that I link to in my sig and there is a link to a zip file with some tools that will allow you to do this. (Its at the beginning of the basics section).

What you need to do is extract the narc containing the sequence for Riley and the palette for Riley as well as those two files. Do this with tahaxan tihaxa. Then use PPNFR (also included in the zip) to insert the palette and then the sequence for riley into the place where the palette and the sequence for the hero is (respectively).

For the back sprite and the front sprite use loadingNOW's PokeDSPic, get it at http://pokeguide.filb.de/, to find the values for the image in \poketool\trgra\trbgra.narc and \poketool\trgra\trfgra.narc. You can extract the riley ones and insert them into the spot where the hero's are with PokeDSPic or use Tahaxan tihaxa and PPNFR as well.

There is a list of offsets for the overworld sprites for DP here: http://www.pokecommunity.com/showpost.php?p=4236332&postcount=1504

take the ones for DP and make a file named list.txt and put it in a directory with PokeTex. Then open your DP rom in PokeTex and find the overworld sprites for the hero and Riley. Use tahaxan tihaxa, look in \data\mmodel\ and find the files that would inclode those offsets. Extract the one for riley and insert it with PPNFR into the spot for the hero.

This is a really way job if you know what you are doing. Try to do it and if you have questions let me know.

If by any change you don't know what extracting narc files or files inside narc files means, read about it in the thread I link to in my sig.

NOTE: This will not edit the overworld sprites for the hero using surf or fishing, etc. For that you would have to edit that manually using PokeTex. You can find an Poketex that is in english (for the most part IIRC) in the Diamond & Pearl & Platinum Hacking thread. Use the search function to search there.

lugialucario
January 6th, 2009, 10:41 AM
Thanks you very much SCV for the help

SCV
January 8th, 2009, 06:37 AM
Thanks you very much SCV for the help
The part for the overworld sprite does not work as I thought.
I will update later with the right process.

pichu2000
January 8th, 2009, 06:49 AM
I update first post with preliminary information of script!

Shirin
January 17th, 2009, 03:04 PM
Ohh a useful D/P document! i will see if the work but I think they do.
Good job of finding this data, pichu2000!

pichu2000
May 29th, 2009, 10:54 AM
Big Update!!!
I have insert all progress abourt scripting that I and Scv had during this month.+
See first post script section

exe34
July 23rd, 2009, 11:07 PM
cool but its tooo difficult

FreakyLocz14
July 24th, 2009, 11:34 AM
This can apply to hacking Platinum as well right?

codemonkey85
August 4th, 2009, 07:38 PM
Hey pichu2000,

By any chance do you have a list (or partial list) of map "warp" IDs for Pokémon Platinum in addition to the ones you posted? It would be very useful to me, as I am programming a code library for Pokémon DS save file hacking (which incidentally will be open source).

Thanks for reading, and thanks for posting the Diamond / Pearl IDs! I looked all over for those.

SharpPoint
August 4th, 2009, 10:29 PM
MINI UPDATE
I DO SOME PROGRESS REGARDING SIMPLE POLYGONS
I CAN MOVE FLOWERS AROUND THE MAPS!
http://img183.imageshack.us/img183/1703/fiorispostatimc3.png

Woah... That's incredible...
I can already see it now..

pichu2000
August 6th, 2009, 01:38 AM
Hey pichu2000,

By any chance do you have a list (or partial list) of map "warp" IDs for Pokémon Platinum in addition to the ones you posted? It would be very useful to me, as I am programming a code library for Pokémon DS save file hacking (which incidentally will be open source).

Thanks for reading, and thanks for posting the Diamond / Pearl IDs! I looked all over for those.

Sure!
Here's Warp List for Platinum
00 00=Nowhere
01 00= "
02 00=Crash
03 00=Jubilife city
04 00=Jubilife city Pokemart
05 00=Crash
06 00=Jubilife city Pokecenter 1 floor
07 00=Jubilife city Pokecenter 2 floor
08 00=Jubilife city Poketch company 1 floor
09 00=Jubilife city Poketch company 2 floor
0A 00=Jubilife city Poketch company 3 floor
0B 00=Tv station 1 floor
0C 00=Tv station 2 floor
0D 00=Tv station 3 floor
0E 00=Tv station 4 floor
0F 00=Tv station-Photo Pokemon
10 00=Tv station- Photo 2
11 00=Tv station-Group ranking room
12 00=Tv station-Lift
13 00=Jubilife city building 1 1 floor
14 00=Jubilife city building 1 2 floor
15 00=Beta map building 1 3 floor
16 00=Beta map building 1 4 floor
17 00=
18 00 Jubilife city 2 building 1 floor
19 00 Jubilife city 2 building 2 floor
1a 00 Beta map 2 building 3 floor
1b 00 Beta map 2 building 4 floor
1c 00 GTS
1d 00 Trainer school
1e 00 Jubilife city 3 building 1 floor
1f 00 crash
20 00 crash
21 00 Canalave city
22 00 Canalave city pokemart
23 00 Canalave city gym
24 00 Canalave city pokecenter 1 floor
25 00 Canalave city pokecenter 2 floor
26 00 Canalave library 1 floor
27 00 Canalave library 2 floor
28 00 Canalave library 3 floor
29 00 Canalave city 1 house
2a 00 Canalave city 2 house
2b 00 Canalave city Harbor Inn
2c 00 Canalave city Sailor Eldritch'house
2d 00 Oreburgh city
2e 00 Oreburgh city pokemart
2f 00 Oreburgh city gym
30 00 0reburgh city pokecenter 1 floor
31 00 0reburgh city pokecenter 2 floor
32 00 0reburgh city building 1 1 floor
33 00 0reburgh city building 1 2 floot
34 00 Beta map building 1 3 floor
35 00 Beta map building 1 4 floor
36 00 0reburgh city 2 building 1 floor
37 00 0reburgh city 2 building 2 floor
38 00 Beta map 2 building 3 floor
39 00 Beta map 2 building 4 floor
3a 00 Oreburgh city 1 house
3b 00 Oreburgh museum
3c 00 Oreburgh city 2 house
3d 00 Oreburgh city 3 building 1 floor
3e 00 Oreburgh city 3 building 2 floor
3f 00 Beta map 3 building 3 floor
40 00 Oreburgh mine house
41 00 Eterna city
42 00 Eterna city pokemart
43 00 Eterna city gym
44 00 Beta map Eterna gym
45 00 Eterna city pokecenter 1 floor
46 00 Eterna city pokecenter 2 floor
47 00 Eterna city Red Richshaw' Bike Shop
48 00 Team galactic eterna building 1 floor
49 00 Team galactic eterna building 2 floor
4a 00 Team galactic eterna building 3 floor
4b 00 Team galactic eterna building 4 floor
4c 00 Eterna condominius 1 floor
4d 00 Eterna condominius 2 floor
4e 00 Eterna condominius 3 floor
4f 00 Beta map Eterna condominius 4 floor
50 00 Eterna city south gate
51 00 Eterna Herb shop
52 00 Eterna Oak's house
53 00 Eterna city 2 house
54 00 Eterna city Underground Man's house
55 00 crash
56 00 Hearthrome city
57 00 Hearthrome city pokemart
58 00 Hearthrome city gym 1 room
59 00 Hearthrome city gym 2 room
5a 00 Hearthrome city gym 3 room
5b 00 Hearthrome city gym Leader Room
5c 00 Beta map Hearthrome gym 1
5d 00 Beta map Hearthrome gym 2
5e 00 Beta map Hearthrome gym 3
5f 00 Beta map Hearthrome gym 4
60 00 Beta map Hearthrome gym 5
61 00 Beta map Hearthrome gym 6
62 00 Beta map Hearthrome gym 7
63 00 Beta map Hearthrome gym 8
64 00 Beta map Hearthrome gym Leader room
65 00 Hearthrome city pokecenter 1 floor
66 00 Hearthrome city pokecenter 2 floor
67 00 Hearthrome city 1 building 1 floor
68 00 Hearthrome city 1 building 2 floor
6a 00 Hearthrome city Fan club Pokemon
6b 00 Amity square West Gate
6c 00 Amity square East Gate
6d 00 Hearthrome city south-west gate
6e 00 Hearthrome city south-east gate
6f 00 Hearthrome city south gate
70 00 Hearthrome city 2 building 1 floor
71 00 Hearthrome city 2 building 2 floor
72 00 Hearthrome city 1 building lift
73 00 Hearthrome city 1 house
74 00 Hearthrome city The Poffin House
75 00 Hearthrome Pokemon contest house
76 00 Nothing
77 00 Hearthrome Cathedral
78 00 Pastoria city
79 00 Pastoria city pokemart
7A 00 Pastoria city gym
7B 00 Pastoria city pokecenter 1 floor
7C 00 Pastoria city pokecenter 2 floor
7D 00 Pastoria Great Marsh 1 floor
7E 00 Pastoria Great Marsh 2 floor
7F 00 Pastoria city 1 house
80 00 Pastoria city 2 house
81 00 Pastoria city 3 house
82 00 Pastoria city 4 house
83 00 Pastoria city 5 house
84 00 Veilstone city
85 00 Veilstone city gym
86 00 Veilstone city pokecenter 1 floor
87 00 Veilstone city pokecenter 2 floor
88 00 Veilstone Game corner
89 00 Veilstone Department Store 1 floor
8a 00 Veilstone Department Store 2 floor
8b 00 Veilstone Department Store 3 floor
8c 00 Veilstone Department Store 4 floor
8d 00 Veilstone Department Store 5 floor
8e 00 Veilstone Department Store lift
8f 00 Veilstone Galactic Warehouse 1 floor
90 00 Veilstone Prize Exchange
91 00 Veilstone city 1 house
92 00 Veilstone city 2 house
93 00 Veilstone city 3 house
94 00 Veilstone city 4 house
95 00 Veilstone city west gate
96 00 Sunyshore city
97 00 Sunyshore city pokecenter 1 floor
98 00 Sunyshore city pokecenter 2 floor
99 00 Sunyshore city pokemart
9a 00 Sunyshore gym 1 room
9b 00 Sunyshore gym 2 room
9c 00 Sunyshore gym 3 room
9d 00 Sunyshore Market
9e 00 Sunyshore city Julia's house
9f 00 Sunyshore city 1 house
a0 00 Sunyshore city 2 house
a1 00 Sunyshore city 3 house
a2 00 Sunyshore city beta house
a3 00 Sunyshore city 4 house
a4 00 Sunyshore city lighthouse
a5 00 Snowpoint city 1 house
a6 00 Snowpoint city pokemart
a7 00 Snowpoint city gym
a8 00 Snowpoint city pokecenter 1 floor
a9 00 Snowpoint city pokecenter 2 floor
aa 00 Snowpoint city 2 house
ab 00 Snowpoint city 3 house
ac 00 Pokemon League
ad 00 Pokemon League pokecenter 1 floor
ae 00 Pokemon League pokecenter 2 floor
af 00 Pokemon League Castle pokecenter
b0 00 Pokemon League 1 corridor
b1 00 Pokemon League 1 room
b2 00 POkemon League 2 corridor
b3 00 Pokemon League 2 room
b4 00 Pokemon League 3 corridor
b5 00 Pokemon League 3 room
b6 00 Pokemon League 4 corridor
b7 00 Pokemon League 4 room
b8 00 Pokemon League Champion corridor
b9 00 Pokemon League Champion room
ba 00 Pokemon League Hall of Fame
bb 00 Pokemon LeaguE Record Pokemon
bc 00 Fight Area
bd 00 Fight Area pokecenter 1 floor
be 00 Fight Area pokecenter 2 floor
bf 00 Fight Area pokemart
c0 00 Beta map Fight area East gate
c1 00 Fight Area west gate
c2 00 Fight Area 1 house
c3 00 Fight Area 2 house
c4 00 Crash
c5 00 crash
c6 00 Oreburgh Mine Ground floor
c7 00 Oreburgh Mine floor -1
c8 00 Valley Windworks
c9 00 Valley Windworks building
ca 00 Eterna Forest black map
cb 00 Eterna Forest
cc 00 Fuego Ironworks
cd 00 Fuego Ironworks building
ce 00 Nothing
cf 00 Mt Coronet
d0 00 Mt Coronet 1
d1 00 Mt Coronet 2
d2 00 mT Coronet 3
d3 00 Mt Coronet 4
d4 00 Mt Coronet 5
d5 00 Mt Coronet 6
d6 00 Mt Coronet 7
d7 00 Mt Coronet 8
d8 00 Mt Coronet 9
d9 00 Mt Coronet 10
da 00 Mt Coronet 11
db 00 Mt Coronet 12
dc 00 Spear Pillar
dd 00 Spear Pillar after Giratina
de 00 Nothing
df 00 Nothing
e0 00 Nothing
e1 00 Solaceon Ruins 1
e2 00 Solaceon Ruins 2
e3 00 Solaceon Ruins 3
e4 00 Solaceon Ruins 4
e5 00 Solaceon Ruins 5
e6 00 Solaceon Ruins 6
e7 00 Solaceon Ruins 7
e8 00 Solaceon Ruins 8
e9 00 Solaceon Ruins 9
ea 00 Solaceon Ruins 10
eb 00 Solaceon Ruins 11
ec 00 Solaceon Ruins 12
ed 00 Solaceon Ruins 13
ee 00 Solaceon Ruins 14
ef 00 Solaceon Ruins 15
f0 00 Solaceon Ruins 16
f1 00 Solaceon Ruins 17
f2 00 Solaceon Ruins 18
f3 00 Nothing
f4 00 Victory road 1
f5 00 Victory road 2
f6 00 victory road 3
f7 00 victory road 4
f8 00 victory road 5
f9 00 victory road 6
fa 00 Nothing
fb 00 Pal Park
fc 00 Nothing
fd 00 Amity Square
fe 00 Ravaged Path
ff 00 Crash
00 01 Floaroma Meadow
01 01 Floaroma Meadow Honey's house
02 01 Oreburgh Gate 1
03 01 Oreburgh Gate 2
04 01 Fullmoon Island (outside)
05 01 Fullmoon Island (inside)
06 01 Stark Mountain
07 01 Stark Mountain 1
08 01 Stark Mountain 2
09 01 Stark Mountain 3
0a 01 Nothing
0b 01 Sondoff Spring
0c 01 Turnback cave 1
0d 01 Turnback cave 2
0e 01 Turnback cave 3
0f 01 Turnback cave 4
10 01 Turnback cave 5
11 01 Turnback cave 6
12 01 Flower paradise (black map)
13 01 Nothing
14 01 Nothing
15 01 Nothing
16 01 Snowpoint Temple 1
17 01 Snowpoint Temple 2
18 01 Snowpoint Temple 3
19 01 Snowpoint Temple 4
1a 01 Snowpoint Temple 5
1b 01 Snowpoint Temple 6
1c 01 Wayward cave 1
1d 01 Wayward cave 2
1e 01 Ruin Maniac cave
1f 01 Trophy Garden
20 01 Iron Island
21 01 Iron Island 1
22 01 Iron Island 2
23 01 Iron Island 3
24 01 Iron Island 4
25 01 Iron Island 5
26 01 Iron Island 6
27 01 Old Chateau 1
28 01 Old Chateau 2
29 01 Old Chateau 3
2a 01 Old Chateau 4
2b 01 Old Chateau 5
2c 01 Old Chateau 6
2d 01 Old Chateau 7
2e 01 Old Chateau 8
2f 01 Old Chateau 9
30 01 Crash
31 01 Galactic Veilstone Building 1
32 01 Galactic Veilstone Building 2
33 01 Galactic Veilstone Building 3
34 01 Galactic Veilstone Building 4
35 01 Galactic Veilstone Building 5
36 01 Galactic Veilstone Building 6
37 01 Lake Verity
38 01 Verity Cavern(out)
39 01 Verity Cavern
3a 01 Lake valor
3b 01 Valor Cavern(out)
3c 01 Valor Cavern
3d 01 Lake Acuity
3e 01 Acuity Cavern(out)
3f 01 Acuity Cavern
40 01 Newmoon Island(out)
41 01 Newmoon Island
42 01 Beta map Diamond Battle Park
43 01 Beta map Diamond Battle Park-Exchange Service Corner
44 01 Nothing
45 01 Nothing
46 01 Battle Tower
47 01 Nothing
48 01 Nothing
4a 01 Nothing
4b 01 Nothing
4c 01 Nothing
4d 01 NOTHING
4e 01 Verity Lakefront
4f 01 Crash
50 01 Valor Lakefront
51 01 Seven Star Reaustarant
52 01 Valor Lakefront 1 house
53 01 Valor Lakefront 2 house
54 01 Valor Lakefront 3 house
55 01 Spring Path
56 01 Route 201(Black Map)
57 01 Route 202(B.M)
58 01 Route 203
59 01 Route 204 1
5a 01 Route 204 2
5b 01 Route 205 1
5c 01 Route 205 1 house
5d 01 Route 205 2
5e 01 Route 206
5f 01 Route 206 Gate
60 01 Crash
61 01 Route 207
62 01 Route 208
63 01 Route 208 Berry Master's House
64 01 Route 209
65 01 Lost Tower
66 01 Lost Tower 1
67 01 Lost Tower 2
68 01 Lost Tower 3
69 01 Lost Tower 4
6a 01 Route 210 1
6b 01 Route 210 2
6c 01 Route 210-Grandma Wilma House
6d 01 Route 211(to Mt Coronet) 1
6e 01 Route 211(to Mt Coronet) 2
6f 01 Route 212
70 01 Pokemon Mansion
71 01 Pokemon Mansion 1 Room
72 01 Pokemon Mansion Backlot Room
73 01 Route 212
74 01 Route 212-Shard Wanted
75 01 Route 213
76 01 Pastoria Gate
77 01 Route 213-Dr.Footsteps's House
78 01 Hotel Grand Lake
79 01 Route 213-1 house
7a 01 Route 213-2 house
7b 01 Route 213-3 house
7c 01 Route 214
7d 01 Veilstone south gate
7e 01 Route 215 1
7f 01 Route 215 2
80 01 Route 215-Snowboard Lodge
81 01 Route 217-1 house
82 01 Route 217-2 house
83 01 Route 217-3 house
84 01 Route 218
85 01 Jubilife Gate
86 01 Canalave Gate
87 01 Route 219(Black Map)
88 01 Route 221
89 01 Pal Park building
8a 01 Route 221 house
8b 01 Route 222
8c 01 Route 222-Pikachu Fan Club
8d 01 Route 222-Pokemon Size Contest
8e 01 Sunyshore Gate
8f 01 Route 224
90 01 Route 225
91 01 Nothing
92 01 Nothing
93 01 Route 227
94 01 Nothing
95 01 Nothing
96 01 Route 228
97 01 Route 229(Black Map)
98 01 Nothing
99 01 Nothing
9a 01 Nothing
9b 01 Twinleaf Town
9c 01 Twinleaf Town-Rival House 1 floor
9d 01 Twinleaf Town-Rival house 2 floor
9e 01 Twinleaf Town-Hiro House 1 floor
9f 01 Twinleaf Town-Hiro House 2 floor
a0 01 Twinleaf Town-1 house
a1 01 Twinleaf Town-2 house
a2 01 Sandgem Town
a3 01 Sandgem Town Pokemart
a4 01 Sandgem Town Pokecenter 1 floor
a5 01 Sandgem Town Pokecenter 2 floor
a6 01 Sandgem Town Rowan's Lab
a7 01 Sandgem Town Dawn/Lucas House 1 floor
a8 01 Sandgem Town Dawn/Lucas House 2 floor
a9 01 Sandgem Town house
aa 01 Floaroma Town
ab 01 Floaroma Town Pokemart
ac 01 Floaroma Town Pokecenter 1 floor
ad 01 Floaroma Town Pokecenter 2 floor
ae 01 Floaroma Flower Shop
af 01 Floaroma Town 1 house
b0 01 Floaroma Town 2 house
b1 01 Solaceon Town
b2 01 Solaceon Town Pokemart
b3 01 Solaceon Town Pokecenter 1 floor
b4 01 Solaceon Town Pokecenter 2 floor
b5 01 Solaceon Town Pokemon Day Care
b6 01 Solaceon Town 1 house
b7 01 Solaceon Town Pokemon News Press
b8 01 Solaceon Town 2 house
b9 01 Solaceon Town 3 house
ba 01 Celestic Town
bb 01 Celestic Town Pokecenter 1 floor
bc 01 Celestic Town Pokecenter 2 floor
bd 01 Celestic Town 1 house
be 01 Celestic Town 2 house
bf 01 Celestic Town 3 house
c0 01 Celestic Town 4 house
c1 01 Celestic Town Central Cave
c2 01 Survival Area
c3 01 Survival Area Pokemart
c4 01 Survival Area Pokecenter 1 floor
c5 01 Survival Area Pokecenter 2 floor
c6 01 Survival Area Battleground
c7 01 Survival Area 2 house
c8 01 Survival Area 3 hosue
c9 01 Resort Area
ca 01 Resort Area pokemart
cb 01 Resort Area pokecenter 1 floor
cc 01 Resort Atea pokecenter 2 floor
cd 01 Resort Area Ribbon Syndacate 1 floor
ce 01 Resort Area Ribbon Syndacate 2 floor
cf 01 Resort Area Ribbon Syndacate lift
d0 01 Resort Area 1 house
d1 01 Resort Atea 2 house
d2 01 Union Room
d3 01 Route 220(Black Map)
d4 01 Route 223(B.M)
d5 01 Route 226
d6 01 Nothing
d7 01 Route 230(Black Map)
d8 01 Sandbreak Path(B.M)
d9 01 Nothing
da 01 Jubilife city Pokecenter -1 floor
db 01 Canalave city Pokecenter -1 floor
dc 01 0reburgh city pokecenter -1 floor
dd 01 Eterna city pokecenter -1 floor
de 01 Hearthrome city pokecenter -1 floor
df 01 Pastoria city pokecenter -1 floor
e0 01 Veilstone city pokecenter -1 floor
e1 01 Sunyshore city pokecenter -1 floor
e2 01 Snowpoint city pokecenter -1 floor
e3 01 Pokemon league pokecenter -1 floor
e4 01 Fight area pokecenter -1 floor
e5 01 Sandgem Town pokecenter -1 floor
e6 01 Floaroma Town pokecenter -1 floor
e7 01 Solaceon Town pokecenter -1 floor
e8 01 Celestic Town pokecenter -1 floor
e9 01 Survival area pokecenter -1 floor
ea 01 Resort Area pokecenter -1 floor
eb 01 Canalave city 1 house
ec 01 Route 210-Gafe Cabin
ed 01 Nothing
ee 01 Galactic Veilstone Building Three Room
ef 01 Pokemon League Castle 2 floor
f0 01 Pokemon League Castle -1 floor
f1 01 Galactic Veilstone Building 2
f2 01 Route 225 House
f3 01 Route 226 house
f4 01 Route 227 house
f5 01 Route 226 gate
f6 01 Route 228 1 house
f7 01 Route 228 2 house
f8 01 Great Marsh(B.M)
f9 01 Great Marsh(B.M)
fa 01 Great Marsh(B.M)
fb 01 Great Marsh(B.M)
fc 01 Great Marsh(B.M)
fd 01 Great Marsh
fe 01 Hall of Origin
ff 01 Hall of Origin(B.M)
00 02 Ruin Maniac Cave 2
01 02 Maniac Tunnel
02 02 Iron Island house
03 02 Solaceon Ruins
04 02 Sunyshore city lighthouse lift
05 02 Jubilife city 3 building 2 floor
06 02 Turnback Cave 7
07 02 Turnback cave 8
08 02 Turnback cave 9
09 02 Turnback cave 10
0a 02 Turnback cave 11
0b 02 Turnback cave 12
0c 02 Turnback cave 13
0d 02 Turnback cave 14
0e 02 Turnback cave 15
0f 02 Turnback cave 16
10 02 Turnback cave 17
11 02 Turnback cave 18
12 02 Turnback cave 19
13 02 Turnback cave 20
14 02 Turnback cave 21
15 02 - 2E 02 Turnback cave(B.M)
2f 02 Battle Frontier
30 02 Fight Area east Gate
31 02 Nothing
32 02 Battle Factory
33 02 Battle Hall
34 02 Battle Castle
35 02 Battle Arcade
36 02 Veilstone Department Store -1 floor
37 02 Gts 2 floor
38 02 Gts 3 floor
39 02 Galactic Veilstone Building 3
3A 02 Distortion World Black Map
3b 02 Secret Key Room
3c 02 Nothing
3d 02 Distortion World 1
3e 02 Distortion World 2
3f 02 Distortion World 3
40 02 Distortion World 4
41 02 Nothing
42 02 Nothing
43 02 Distortion World 5
44 02 Distortion World 6
45 02 Distortion World 7
46 02 Distortion World 8
47 02 Distortion World 9
48 02 Spear Pillar(Dialga Event)
49 02 Spear Pillar(Palkia Event)
4A 02 Nothing
4B 02 Iron Ruins(After Registeel)
4C 02 Iron Ruins
4D 02 Iceberg Ruins(After Regice)
4E 02 Iceberg Ruins
4F 02 Rock Peak Ruins(After Regirock)
50 02 Rock Peak Ruins

Chiizu
August 15th, 2009, 12:37 PM
Nice work :P But i doubt that i'll ever try to understand Hex..... its sooo annoying...

madarawolf
November 13th, 2009, 01:16 PM
O.K. I'm hacking Platinum and I was wondering if there is away to make the maps and tiles not look like a pile of random colors everywhere.

Toxicroak
December 30th, 2009, 03:05 PM
I give up, mines in Japanese.
This stuff is way to complicated for me.

is there a program where you can see the place your editing and click in the different sprites?

sir.euge
December 30th, 2009, 03:27 PM
I'm really glad somepeople out there are still trying to take apart the nds rom images. Waiting for a tool cuz I'm still a noob. Good luck!

Umbreonic Aura
March 5th, 2010, 07:27 AM
Ok I have recently become more active in the 4th Gen Area and i am making a 4th Gen Tool Box,
My theoretical map editor "Diamond Map" has not even began programming because of a lack of data etc. knowlage etc.
So I am doing Diamond Script Editor In the mean time.
Check in the Toolbox or here for updates,
;)

humanguy2000
April 14th, 2010, 03:56 AM
A diamond map? Sounds good. I found this in teh toolbox. It actually works!

http://www.pokecommunity.com/showthread.php?t=209310
(http://www.pokecommunity.com/showthread.php?t=209310)

I think the tool could be converted in a map editor but I think that might be way too hard. Good luck with DS map or whatever your calling it ;-)

EDIT: Is there anything about how do swap textures? I'm trying to replace twinleaf town with littleroot town. I just need to know how to use this to edit teh tiles. And how did you move the flowers?

pichu2000
April 19th, 2010, 08:14 AM
I rewrite all the tutorial, cleaning up some obsolete information and other stuff.
Good hacking!

shubshub
December 11th, 2010, 03:32 PM
Im going to usr this for my diamond hack but is it in english?

PokeBunny
June 14th, 2013, 06:08 AM
I can't program in Basic, but when I learn I can make a program to hack these games. NOTE THIS!