• 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.

pokecrystal For Dummies

PiaCRT

[i]Orange Dev[/i]
934
Posts
13
Years
November 2019 Update. A lot has changed over the years and the old tutorial just does not cut it anymore.

Hello, I am Pia Carrot and I hack gen 2 exclusively. Long gone are the days of using Goldmap, PKSV, AGIXP, and other tools that barely work on new OS these days. Since 2015, disassembly hs been pretty much the only logical choice for the aspiring gen 2 rom hacker. Why? Well, because it's already completely taken apart and put into easy-to-read code for you! With a simple text editor and a command, you can change things within seconds and build the rom from scratch. Do not fret, my young donut ASMs, ASM isn't necessary unless you are trying to change something very specific like a UI or a new feature. We even have some tutorials to do some of that work for you!

First off, where do I find pokecrystal? Well, here's some links!

Pokegold (incomplete): https://github.com/pret/pokegold
Pokecrystal: https://github.com/pret/pokecrystal

Install guide: https://github.com/pret/pokecrystal/blob/master/INSTALL.md
FAQ: https://github.com/pret/pokecrystal/blob/master/FAQ.md
Documentation: https://pret.github.io/pokecrystal/
Tutorials: https://github.com/pret/pokecrystal/wiki/Tutorials

Some tools you will need:
RGBDS: https://github.com/rednex/rgbds
Cygwin (windows only, refer to INSTALL.MD): https://www.cygwin.com/
Notepad++: https://notepad-plus-plus.org/

Graphics editors:
GraphicsGale: https://graphicsgale.com/us/
PaintXP: https://archive.org/details/MSPaintWinXP
Irfanview: https://www.irfanview.com/

Rangi's epic tools that will make life easy for you:
PolishedMap (Map Editor): https://github.com/Rangi42/polished-map/releases
Tilemap Studio (Tilemap Editor, useful for the town map): https://github.com/Rangi42/tilemap-studio/releases

Other useful tools:
GSC Town Map Editor By Harrison (if you use this over Rangi's tool, not recommended, you will need a hex editor): https://hax.iimarckus.org/topic/97/
GoldFinger (hex editor): https://www.romhacking.net/utilities/204/
Midi2asm: https://hax.iimarckus.org/topic/7671/

OK, I guess this isn't really a tutorial anymore, and more of a resource, but that's how this community rolls! We love to share and keep (almost) everything open to everyone!

Music:
Mmmmmm: https://hax.iimarckus.org/topic/6777/
TriteHexagon: https://hax.iimarckus.org/topic/7684/ https://hax.iimarckus.org/topic/7697/
AzureKeys: https://hax.iimarckus.org/topic/7636/

Graphics:
PiaCarrot (check out the other artists I have linked on my page, they all do GSC graphics!): https://www.deviantart.com/piacarrot
Custom Graphics Thread (older pages are mostly 404d): https://hax.iimarckus.org/topic/197/
I will update graphics with more once we have something more solid to link to, it's kind of all over the place.

Useful Discords:
Pret: https://discord.gg/6EuWgX9
Orange: https://discord.gg/hA96ewC
Polished Crystal: https://discord.gg/2Vtw8Vj
Red++: https://discord.gg/Xah4PRr
Ancient Ruby: https://discord.gg/ZRZg5fG

Gen 2 Banzai!
 
Last edited:
55
Posts
8
Years
  • Age 28
  • Seen Dec 2, 2021
cool, it's great to have a resource like this!

i understand it's a work in progress so maybe you're planning to add these, but there are definitely more features that are relatively easy to add - replacing/adding moves, changing trainer teams, adding types and items, so on and so forth. i could certainly contribute if you'd like
 

PiaCRT

[i]Orange Dev[/i]
934
Posts
13
Years
cool, it's great to have a resource like this!

i understand it's a work in progress so maybe you're planning to add these, but there are definitely more features that are relatively easy to add - replacing/adding moves, changing trainer teams, adding types and items, so on and so forth. i could certainly contribute if you'd like

If you'd like to add on, certainly. I will include it in the resources section as a link to your post. I wanted to provide the bare necessities required to make a basic Pokémon game, anything else would be great!

Also, I assume you are the BynineB, in that sprite pack are a lot of your old sprites that are no longer available online (dead links, etc.) there are a couple I had to restore via google images, so maybe have yourself a nostalgia trip, if you'd like :)
 

Mr.Mako

Resident Edgelord Troll
162
Posts
9
Years
  • Age 27
  • Seen Aug 10, 2023
Nice to see you being productive. This could probably help quite a few people.
 
55
Posts
8
Years
  • Age 28
  • Seen Dec 2, 2021
If you'd like to add on, certainly. I will include it in the resources section as a link to your post. I wanted to provide the bare necessities required to make a basic Pokémon game, anything else would be great!

Also, I assume you are the BynineB, in that sprite pack are a lot of your old sprites that are no longer available online (dead links, etc.) there are a couple I had to restore via google images, so maybe have yourself a nostalgia trip, if you'd like :)

oh man, weird to see those, it's been probably 5-6 years since i made them! i should probably touch them up at some point...

anyway, yeah, i'd be happy to help. let's start off with a pretty simple one: changing trainer rosters.

Changing Trainer Rosters
Spoiler:


Hope this helps!
 
1
Posts
7
Years
  • Age 33
  • Seen Nov 10, 2016
Hello!

I'd like to know more about scripting. I want to at least make it so that the legendary dogs can be encountered similarly to ho-oh and lugia, so they're in some area where you can walk up to their sprite, talk to them and fight them. I would probably make an event constant that will be set whenever you've fought them in that area, but at the bottom theres this long line of variables. What are they? I notice some of them indicate sprites and the event, but some are numbers with 0 explanation.. Can someone help me with this? I don't want to break the code.

One other thing I'd like to do is make it so you have to fight a new elite 4 when you've gotten all the kanto gyms too..
 
277
Posts
9
Years
oh man, weird to see those, it's been probably 5-6 years since i made them! i should probably touch them up at some point...

anyway, yeah, i'd be happy to help. let's start off with a pretty simple one: changing trainer rosters.

Changing Trainer Rosters
Spoiler:


Hope this helps!

Is this really needed? I feel like anyone can look at the already existing code and edit it themselves. Maybe I'm overestimating hackers, but I don't think anyone really needs a guide for this type of thing. Same with the stuff you mentioned before, I think it's pretty easy to figure out.
 

PiaCRT

[i]Orange Dev[/i]
934
Posts
13
Years
Is this really needed? I feel like anyone can look at the already existing code and edit it themselves. Maybe I'm overestimating hackers, but I don't think anyone really needs a guide for this type of thing. Same with the stuff you mentioned before, I think it's pretty easy to figure out.

You'd be surprised, I think it's better to spoonfeed, especially when we are trying to encourage people to try the Gen 2 scene out.
 
277
Posts
9
Years
You'd be surprised, I think it's better to spoonfeed, especially when we are trying to encourage people to try the Gen 2 scene out.
Well, the thing about GSC hacking is the lack of spoonfeeding. I think that people would be discouraged when after reading the guide to editing pokecrystal trainers, they look elsewhere for more delightfully spoonfed tutorials, only to find there are not many more. If you're going to make tutorials showing hackers how to hack every single part of gsc, go ahead, but I don't think the tutorials you are writing help much, because there's a few things more challenging than editing pokecrystal trainers.
 

PiaCRT

[i]Orange Dev[/i]
934
Posts
13
Years
Well, the thing about GSC hacking is the lack of spoonfeeding. I think that people would be discouraged when after reading the guide to editing pokecrystal trainers, they look elsewhere for more delightfully spoonfed tutorials, only to find there are not many more. If you're going to make tutorials showing hackers how to hack every single part of gsc, go ahead, but I don't think the tutorials you are writing help much, because there's a few things more challenging than editing pokecrystal trainers.

It's up to other people to contribute and build it up the same way gen 3 hacking was. Before XSE and Advance Map I would argue gen 3 hacking was in a similar state. Everything provided here is enough to build a simple Pokemon game.
 
2
Posts
6
Years
  • Age 31
  • Seen Sep 15, 2017
As someone completely new to hacking, nice guide. Hopefully someone can add something for changing moves/attacks properly. That's my main issue right now with regard to my goals (I.E. Rebalancing the game as well as making it more difficult).

Gen 3 has so much support (guides) it seems, but I think quite a few people like myself are very interested in Gen 2 and have good ideas, but learning the basics does not seem to be as accessible. This is a good start though.
 

miksy91

Dark Energy is back in action! ;)
1,480
Posts
15
Years
I cant find map_header.asm please help me
It seems they have either renamed and located the file elsewhere than under /maps, or integrated the map headers data in some other file.

Nevertheless, you could either check the commit history of pokecrystal master branch where the data has been moved (google "view commit history github", or try finding help with similar keywords if that doesn't help). You could also join the pret server in Discord and ask others there, where the map headers data has been moved.
 
Last edited:

PokeHacker42

Young Rom Hacker
3
Posts
5
Years
  • Age 24
  • Seen Sep 29, 2018
thanks but that didnt help me that much I searched key words like route29 that they were in map_header.asm but couldnt find it and looked up in google view commit history github but it didnt help me at all,anyways thank you
 

PokeHacker42

Young Rom Hacker
3
Posts
5
Years
  • Age 24
  • Seen Sep 29, 2018
Srry but I tried everything exept I cant find the "pret" server can you send me the discord password
 
Back
Top