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

Orange Dev
937
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
    • 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

    Orange Dev
    937
    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
    10
    Years
    • Seen Aug 10, 2023
    Nice to see you being productive. This could probably help quite a few people.
     
    55
    Posts
    8
    Years
    • 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
    • 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

    Orange Dev
    937
    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

    Orange Dev
    937
    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
    • 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
    • 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
    • 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