Skeetendo

’Cause all games were better on the GBC

You are not logged in.

  • Index
  • → Help/Question
  • → How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

#1 2014-03-02 14:31:28

pisunmosh
Member
Registered: 2014-03-01
Post 1/16

How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

Okay, I'm kind of a new blood here. I was surfing the net but didn't find anything about this topic except some strange ways with hex. Could anyone help me to find solution? It looks like a very simple idea, but...okay again, maybe I'm blind.

Offline

#2 2014-03-02 14:42:26

YORAMRW
Member
From: The Netherlands
Registered: 2013-03-29
Post 1,045/1,194
Website

Re: How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

With a 2bpp to RBY compressor.


Hacks Gameboy 8-bit music in Pokémon Gen I & II, composes 8-bit music in FamiTracker

Offline

#3 2014-03-02 16:43:10

Danny-E 33
Administrator
Registered: 2012-06-09
Post 743/1,023

Re: How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

TheMoneyOfTheWorld, that is a horribly unhelpful post that explains nothing.

pisunmosh, all the relevant information you need can be found in this post: http://hax.iimarck.us/post/23466/#p23466
except for the addresses of sprites in Yellow. stag019 had a list for this, but the website it was hosted on is no longer available.


Red Hack: Pokémon Prototype

Total number of registered users: 7000+
Total number of active users: ~12

Offline

#4 2014-03-02 16:55:46

pisunmosh
Member
Registered: 2014-03-01
Post 2/16

Re: How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

Danny-E 33, thank you, but I still have one question because of lacking of normal net. Maybe I've made a mistake explaining my problem, maybe not, but would your answer explain me how to change some %trainername% party? Thanks a lot.

Offline

#5 2014-03-02 23:17:43

Crystal_
Member
From: Spain
Registered: 2012-09-16
Post 170/417
Website

Re: How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

I'm not sure but I think there are not tools that edit trainer parties in Pokemon Yellow. You'll have to do it with hex editing.

But look, it's plain simple. First open this link: https://raw.github.com/kanzure/pokered/master/main.asm. It contains everything you need to know to edit trainer parties.

Let's say you want to edit brock's team. You would first search (ctrl + F) for the string Brockdata. You'll find this:

BrockData: ; 3a3b5 (e:63b5)
if _YELLOW
db $FF,10,GEODUDE,12,ONIX,0
else
db $FF,12,GEODUDE,14,ONIX,0
endc

Since you want to hack pokemon yellow you are only interested in the information that is behind if _YELLOW

See the hexadecimal number (address) right after the semicolon? It's the address where brock's team data is stored in the ROM. Open your hex editor of choice (I personally recommend Gold Finger; it's easy for beginners) and jump to address 3a3b5. In goldfinger you have to do edit->goto, type the number in the offset box and click ok. You'll end up in brock's team data. And you'll see FF 0A <geodude> 0C <onix> 00, where geodude and onix will also be numbers; each pokemon has an index number assigned so that the game can identify them.

There are two things you can do here: edit the levels and the species of pokemon. First one's easy: if you want, for example, geodude to be level 15, youll change that 0A to 0F. If you haven't noticed yet, 0A is the hexadecimal equivalent of decimal 10, and 0F would stand for  the hex equivalent for decimal 15. Windows calc can convert dec to hex and vice versa if you need it.

The other option is editing the species. If you wanted onix to be a graveler instead you'll search in the net what graveler's index number (in hex) is (for example bulbapedia contains this information). You'll then replace onix's index number with graveler's. When you are done, save the ROM.

If you wanted to give a trainer more pokemon though, that would require being familiar with pointers and more familiar with hex editng in general, so for now, just focus on editing species and levels.

Last edited by Crystal_ (2014-03-02 23:18:08)

Offline

#6 2014-03-02 23:41:13

comet
Member
Registered: 2012-04-09
Post 381/673

Re: How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

Crystal_ wrote:

kanzure hasn't maintained pokered for some time. He pulls periodically but canon is iimarckus (https://github.com/iimarckus/pokered).

https://raw.github.com/iimarckus/pokere … r/main.asm

BrockData: ; 3a3b5 (e:63b5)

See the hexadecimal number (address) right after the semicolon? It's the address where brock's team data is stored in the ROM.

Only for Red/Blue. Yellow's is at 0x3a454.

The other option is editing the species. If you wanted onix to be a graveler instead you'll search in the net what graveler's index number (in hex) is (for example bulbapedia contains this information).

https://github.com/iimarckus/pokered/bl … stants.asm

Last edited by comet (2014-03-02 23:45:27)

Offline

#7 2014-03-03 12:04:17

pisunmosh
Member
Registered: 2014-03-01
Post 3/16

Re: How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

Crystal_ wrote:

Let's say you want to edit brock's team. You would first search (ctrl + F) for the string Brockdata. You'll find this:
BrockData: ; 3a3b5 (e:63b5)
if _YELLOW
db $FF,10,GEODUDE,12,ONIX,0
else
db $FF,12,GEODUDE,14,ONIX,0
endc
Since you want to hack pokemon yellow you are only interested in the information that is behind if _YELLOW
See the hexadecimal number (address) right after the semicolon? It's the address where brock's team data is stored in the ROM. Open your hex editor of choice (I personally recommend Gold Finger; it's easy for beginners) and jump to address 3a3b5. In goldfinger you have to do edit->goto, type the number in the offset box and click ok. You'll end up in brock's team data. And you'll see FF 0A <geodude> 0C <onix> 00, where geodude and onix will also be numbers; each pokemon has an index number assigned so that the game can identify them.
There are two things you can do here: edit the levels and the species of pokemon. First one's easy: if you want, for example, geodude to be level 15, youll change that 0A to 0F. If you haven't noticed yet, 0A is the hexadecimal equivalent of decimal 10, and 0F would stand for  the hex equivalent for decimal 15. Windows calc can convert dec to hex and vice versa if you need it.
The other option is editing the species. If you wanted onix to be a graveler instead you'll search in the net what graveler's index number (in hex) is (for example bulbapedia contains this information). You'll then replace onix's index number with graveler's. When you are done, save the ROM.

Thanks a lot, but I already know it. The question is can you add new party members or not. As I got it, simple adding into
if _YELLOW
db $FF,10,GEODUDE,12,ONIX,0
else
db $FF,12,GEODUDE,14,ONIX,0
endc

words like
if _YELLOW
db $FF,10,GEODUDE,12,ONIX,10,GEODUDE,0
else
db $FF,12,GEODUDE,14,ONIX,10,GEODUDE,0
endc

won't make my life any better?

Last edited by pisunmosh (2014-03-03 12:13:00)

Offline

#8 2014-03-03 12:21:08

Danny-E 33
Administrator
Registered: 2012-06-09
Post 744/1,023

Re: How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

Well, the reason that won't work for you is that the pokered disassembly can compile to a perfect copy of red and blue, but doesn't include everything it needs for Yellow. The disassembly doesn't have any code specific to Yellow, it only has some data (like wild mon data, trainer data, music differences) but these data are only for documentation purposes since you can't compile Yellow anyway.

So you can still use pokered since it does document some of the things you want to edit, but you have to hex edit the information that you find in the disassembly.


Red Hack: Pokémon Prototype

Total number of registered users: 7000+
Total number of active users: ~12

Offline

#9 2014-03-04 04:44:05

pisunmosh
Member
Registered: 2014-03-01
Post 4/16

Re: How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

And thank you all again. Anyway, i won't part my ways with Yellow. And if changing some sprites is the only solution - let it be.

Offline

#10 2014-03-04 04:45:50

comet
Member
Registered: 2012-04-09
Post 387/673

Re: How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

pisunmosh wrote:

The question is can you add new party members or not.

Yes. The pointer table is right before the trainer data.

TrainerDataPointers: ; 39d3b (e:5d3b)
        dw YoungsterData,BugCatcherData,LassData,SailorData,JrTrainerMData
        dw JrTrainerFData,PokemaniacData,SuperNerdData,HikerData,BikerData
        dw BurglarData,EngineerData,Juggler1Data,FisherData,SwimmerData
        dw CueBallData,GamblerData,BeautyData,PsychicData,RockerData
        dw JugglerData,TamerData,BirdKeeperData,BlackbeltData,Green1Data
        dw ProfOakData,ChiefData,ScientistData,GiovanniData,RocketData
        dw CooltrainerMData,CooltrainerFData,BrunoData,BrockData,MistyData
        dw LtSurgeData,ErikaData,KogaData,BlaineData,SabrinaData
        dw GentlemanData,Green2Data,Green3Data,LoreleiData,ChannelerData
        dw AgathaData,LanceData

Last edited by comet (2014-03-04 04:46:40)

Offline

#11 2014-05-09 22:50:58

pisunmosh
Member
Registered: 2014-03-01
Post 5/16

Re: How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

Thabk you, guys. You really helped me a lot.

Offline

  • Index
  • → Help/Question
  • → How would I change Gym leaders sprites and pokemons in Pokemon Yellow?

Board footer

Powered by FluxBB