Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#26 2011-11-08 02:13:08

zhengwei
Member
Registered: 2011-08-18
Post 95/140

Re: how to add new pokemon?

tekcoR wrote:

IImarckus made this useful post which explains the moveset and evolution data.
For editing sprites read tutorials about AgiXP.

Thanks, that's very useful,but do you know how to modify the pokedex entry?

Offline

#27 2011-11-08 02:14:41

Munchulax
Member
From: Somewhere in Johto
Registered: 2011-08-10
Post 48/410

Re: how to add new pokemon?

zhengwei wrote:

Thanks, that's very useful,but do you know how to modify the pokedex entry?

I think you'll need to open up a hex editor for that.

Last edited by Munchulax (2011-11-08 02:15:01)


“To live is the rarest thing in the world. Most people exist, that is all.” ― Oscar Wilde

Offline

#28 2011-11-08 02:32:03

zhengwei
Member
Registered: 2011-08-18
Post 96/140

Re: how to add new pokemon?

munchulax wrote:
zhengwei wrote:

Thanks, that's very useful,but do you know how to modify the pokedex entry?

I think you'll need to open up a hex editor for that.

I know that , I just want to know where is the pokedex entry and structure.could you tell me? Thanks

Offline

#29 2011-11-08 02:39:33

314/701

Re: how to add new pokemon?

zhengwei wrote:
munchulax wrote:
zhengwei wrote:

Thanks, that's very useful,but do you know how to modify the pokedex entry?

I think you'll need to open up a hex editor for that.

I know that , I just want to know where is the pokedex entry and structure.could you tell me? Thanks

Just search for the text of a Pokédex entry; it is trivial to find.

The structure is as follows (in G/S):

  • String: the species. E.g., Cyndaquil has “FIRE MOUSE” here.

  • 16‐bit little‐endian value for height. E.g., 0x006C is 108 in decimal, which corresponds to 1′08″.

  • 16‐bit little‐endian value for weight. E.g., 0x00AA is 170 in decimal, which corresponds to 17.0 lb.

  • String: first page. Newlines are 0x4E, terminated with 0x50.

  • String: second page.

#30 2011-11-08 03:09:58

317/701

Re: how to add new pokemon?

Pingouin7 wrote:

If you need help finding the text for the Pokédex entries, here is a document that may help you.

Be aware of the caveats when using that guide, though.

#31 2011-11-08 08:16:32

zhengwei
Member
Registered: 2011-08-18
Post 97/140

Re: how to add new pokemon?

If I repoint the evolution link ,move set,pokemon base stat,etc...Can I insert No. 252 pokemon?
the iron MEWTWO that I mentioned at first.

Last edited by zhengwei (2011-11-08 09:48:08)

Offline

#32 2011-11-09 07:39:48

zhengwei
Member
Registered: 2011-08-18
Post 98/140

Re: how to add new pokemon?

Why can't I see No.252 pokemon in pokedex after I catch it with cheat code?

Last edited by zhengwei (2011-11-09 15:56:26)

Offline

#33 2011-11-09 11:33:08

Miksy91
Member
Registered: 2010-10-16
Post 586/2,315

Re: how to add new pokemon?

Because you need to hack it to have a pokedex entry.

Offline

#34 2011-11-09 15:54:10

zhengwei
Member
Registered: 2011-08-18
Post 99/140

Re: how to add new pokemon?

Miksy91 wrote:

Because you need to hack it to have a pokedex entry.

That's crazy.Nobody did it before?

Offline

#35 2011-11-10 00:00:08

Tauwasser
Member
Registered: 2010-10-16
Post 215/448

Re: how to add new pokemon?

Lots of people have done that before. You just need to create a PokéDex entry and make sure the PokéDex enumerates up until 252. I think the have-seen and have-caught bits are actually set correctly.

cYa,

Tauwasser

Offline

#36 2011-11-10 02:36:44

zhengwei
Member
Registered: 2011-08-18
Post 100/140

Re: how to add new pokemon?

Tauwasser wrote:

Lots of people have done that before. You just need to create a PokéDex entry and make sure the PokéDex enumerates up until 252. I think the have-seen and have-caught bits are actually set correctly.

cYa,

Tauwasser

Are there any tutorials for that?I want to learn it,I see that is not only create a pokedex entry,but also will do extra work for inserting a new pokemon.

Last edited by zhengwei (2011-11-10 15:14:59)

Offline

#37 2011-11-13 02:22:45

zhengwei
Member
Registered: 2011-08-18
Post 101/140

Re: how to add new pokemon?

Tauwasser wrote:

Lots of people have done that before. You just need to create a PokéDex entry and make sure the PokéDex enumerates up until 252. I think the have-seen and have-caught bits are actually set correctly.

cYa,

Tauwasser

I have added the pokedex entry after CELEBI for No.252 pokemon.How can I enumerate the pokedex up until 252?

Last edited by zhengwei (2011-11-13 02:23:15)

Offline

#38 2011-11-13 06:34:43

Miksy91
Member
Registered: 2010-10-16
Post 599/2,315

Re: how to add new pokemon?

zhengwei wrote:
Tauwasser wrote:

Lots of people have done that before. You just need to create a PokéDex entry and make sure the PokéDex enumerates up until 252. I think the have-seen and have-caught bits are actually set correctly.

cYa,

Tauwasser

I have added the pokedex entry after CELEBI for No.252 pokemon.How can I enumerate the pokedex up until 252?

Modify the asm code that loads the pokedex entries.
Might not take more than changing one byte to another.

Last edited by Miksy91 (2011-11-13 06:35:03)

Offline

#39 2011-11-13 09:21:38

zhengwei
Member
Registered: 2011-08-18
Post 104/140

Re: how to add new pokemon?

Miksy91 wrote:
zhengwei wrote:
Tauwasser wrote:

Lots of people have done that before. You just need to create a PokéDex entry and make sure the PokéDex enumerates up until 252. I think the have-seen and have-caught bits are actually set correctly.

cYa,

Tauwasser

I have added the pokedex entry after CELEBI for No.252 pokemon.How can I enumerate the pokedex up until 252?

Modify the asm code that loads the pokedex entries.
Might not take more than changing one byte to another.

Where is the loading location of pokedex entries in ROM?

Offline

#40 2011-11-17 13:57:38

zhengwei
Member
Registered: 2011-08-18
Post 107/140

Re: how to add new pokemon?

Miksy91 wrote:
zhengwei wrote:
Tauwasser wrote:

Lots of people have done that before. You just need to create a PokéDex entry and make sure the PokéDex enumerates up until 252. I think the have-seen and have-caught bits are actually set correctly.

cYa,

Tauwasser

I have added the pokedex entry after CELEBI for No.252 pokemon.How can I enumerate the pokedex up until 252?

Modify the asm code that loads the pokedex entries.
Might not take more than changing one byte to another.


40C1C - Ammount ,I saw it in crystal data...I modify it into 0xfc,why can't I still see No.252 in pokedex?

Offline

#41 2011-11-19 10:52:26

zhengwei
Member
Registered: 2011-08-18
Post 112/140

Re: how to add new pokemon?

That's very strange.I changed at 40C1C - Ammount from 0xfb to 0xfc,and I also changed at 44360-44556 Pointers to Pokedex Data.The pokedex can work when I catch it in the battle,but it can't be saw in pokedex of menu.I changed at 48000-485DF Pointers to Pokepics ,but the pokepic of No.252 can't work. so I think maybe there is global amount of pokemon somewhere.

Offline

#42 2011-11-19 12:20:03

Tauwasser
Member
Registered: 2010-10-16
Post 225/448

Re: how to add new pokemon?

Did you figure out what the routine at 10:4C1C actually does? Because it does not do what you think it does. Why does it load hl=C7CA, for instance? Why does it go through the Pokémon list backwards?

You have to understand how the PokéDex works: There are multiple lists of Pokémon, one for each sort order: A-Z, new Johto Dex (with Johto starters at the beginning) and National Dex, which means by number. I think the element search list is generated on-the-fly, though.

You will have to find where the game loads these lists, edit those lists for your 0xFC Pokémon to actually be in the list. Then you will have to find out where in RAM these lists are stored and edit all routines reading them to consider one more Pokémon. As a final hint I can say that all necessary routines are located around 10:4C1C.

pokdex.png

With the good work you already put into this, I was able to do the above in under 5 minutes. So it's up to you to just finish the job ;)

cYa,

Tauwasser

Offline

#43 2011-11-19 12:46:53

zhengwei
Member
Registered: 2011-08-18
Post 113/140

Re: how to add new pokemon?

Tauwasser wrote:

Did you figure out what the routine at 10:4C1C actually does? Because it does not do what you think it does. Why does it load hl=C7CA, for instance? Why does it go through the Pokémon list backwards?

You have to understand how the PokéDex works: There are multiple lists of Pokémon, one for each sort order: A-Z, new Johto Dex (with Johto starters at the beginning) and National Dex, which means by number. I think the element search list is generated on-the-fly, though.

You will have to find where the game loads these lists, edit those lists for your 0xFC Pokémon to actually be in the list. Then you will have to find out where in RAM these lists are stored and edit all routines reading them to consider one more Pokémon. As a final hint I can say that all necessary routines are located around 10:4C1C.

http://img851.imageshack.us/img851/1309/pokdex.png

With the good work you already put into this, I was able to do the above in under 5 minutes. So it's up to you to just finish the job ;)

cYa,

Tauwasser

You are so tough,I am so stupid. So, could you tell me more details? It still can't work.

Offline

#44 2011-11-19 14:46:59

zhengwei
Member
Registered: 2011-08-18
Post 114/140

Re: how to add new pokemon?

Tauwasser wrote:

Did you figure out what the routine at 10:4C1C actually does? Because it does not do what you think it does. Why does it load hl=C7CA, for instance? Why does it go through the Pokémon list backwards?

You have to understand how the PokéDex works: There are multiple lists of Pokémon, one for each sort order: A-Z, new Johto Dex (with Johto starters at the beginning) and National Dex, which means by number. I think the element search list is generated on-the-fly, though.

You will have to find where the game loads these lists, edit those lists for your 0xFC Pokémon to actually be in the list. Then you will have to find out where in RAM these lists are stored and edit all routines reading them to consider one more Pokémon. As a final hint I can say that all necessary routines are located around 10:4C1C.

http://img851.imageshack.us/img851/1309/pokdex.png

With the good work you already put into this, I was able to do the above in under 5 minutes. So it's up to you to just finish the job ;)

cYa,

Tauwasser

I changed it from 0xfb to 0xfc at 0x40c0e,changed it from 0xfb to 0xfc at 0x40c1c,changed it from 0xca to 0xcb at 0x40c19.it can work.
Thanks a lot.That's the solution to old order.
40BF7- Pointer to New Pokedex Order
40C65-40D5F ABC Pokedex Order
40D60-40E5A New Pokedex Order
42790- Pointer to Pointer table to Pokemon Moves/Evol data
427BD-429B2 Pointers to Pokemon Moves/Evolution Data
429B3-43E56 Pokemon Moves/Evolution Data
These are other sort order, I will repoint them for No.252. But I find there are only 425 empty bytes in the same bank. How can I repoint them to another bank? Or can I repoint the Moves/Evol data to another bank? it's so large.

Last edited by zhengwei (2011-11-19 15:49:34)

Offline

#45 2011-11-19 20:53:44

Tauwasser
Member
Registered: 2010-10-16
Post 227/448

Re: how to add new pokemon?

For putting the tables into another bank, you would have to modify the routines that read the tables. Since most are only copying to WRAM, you should be able to use a call to 00:0DCD with a:hl being the source pointer to your table and de being the destination in WRAM.

Also, good job finding this out on your own :)

cYa,

Tauwasser

Last edited by Tauwasser (2011-11-19 20:54:21)

Offline

#46 2011-11-20 14:17:53

zhengwei
Member
Registered: 2011-08-18
Post 115/140

Re: how to add new pokemon?

Tauwasser wrote:

For putting the tables into another bank, you would have to modify the routines that read the tables. Since most are only copying to WRAM, you should be able to use a call to 00:0DCD with a:hl being the source pointer to your table and de being the destination in WRAM.

Also, good job finding this out on your own :)

cYa,

Tauwasser

I can't repoint the Moves/Evol data to another bank.. I try my best for that. Could you help me?

Last edited by zhengwei (2011-11-20 14:21:23)

Offline

#47 2011-11-20 15:40:08

Tauwasser
Member
Registered: 2010-10-16
Post 230/448

Re: how to add new pokemon?

Well, you found the current table addresses and where these tables are copied. Just edit the ASM a little so it calls 00:0DCD with the attributes mentioned above to successfully copy the table. Make sure you don't confuse rom banks.

cYa,

Tauwasser

Offline

#48 2011-11-20 18:19:55

tysonrss
Member
From: US, Ohio
Registered: 2011-08-27
Post 179/649

Re: how to add new pokemon?

Well lets not forget that a 3 year doesn't know how to cross the street without Mom first. What I'm saying is that not everyone here knows ASM, so to tell them to do that is taking a major step..


Pokemon Blue DX is reborn!

Offline

#49 2011-11-21 04:32:09

zhengwei
Member
Registered: 2011-08-18
Post 116/140

Re: how to add new pokemon?

Tauwasser wrote:

Well, you found the current table addresses and where these tables are copied. Just edit the ASM a little so it calls 00:0DCD with the attributes mentioned above to successfully copy the table. Make sure you don't confuse rom banks.

cYa,

Tauwasser

I copy the pointer table and table to bank 11,Pointer to Pointer table to Pokemon Moves/Evol data is at 0x424e1,so
I just used :
ld a,$11
ld hl,$66c8
rst $08
Copying remain of codes that around 0x424e1 to bank 11.
but it can't work

Last edited by zhengwei (2011-11-21 04:40:38)

Offline

#50 2011-11-21 06:55:55

zhengwei
Member
Registered: 2011-08-18
Post 117/140

Re: how to add new pokemon?

I just studied the code that around 0x424e1,that my code is right.I checked my code very carefully.
I moved the code, pointer table, table to bank 11 ,and the offset is the same to bank 10.
I used this code to switchbank:
ld a,$11
ld hl,$64e0
rst $08
I don't know why is my code wrong?

Last edited by zhengwei (2011-11-21 12:47:05)

Offline

Board footer

Powered by FluxBB