The PokéCommunity Forums  

Go Back   The PokéCommunity Forums > Fan Games > Binary ROM Hacking
Reload this Page Other Gen II\Gold: Help with my first hack! (how to make Johto and Kanto from scratch etc)

Notices
For all updates, view the main page.

Binary ROM Hacking Need a helping hand or just want to talk about binary ROM hacks? Get comments and answers to any ROM Hacking-related problems, questions or thoughts you have here.

Ad Content
Reply
 
Thread Tools
  #1   Link to this post, but load the entire thread.  
Old December 21st, 2014 (7:44 AM).
wolfboyft's Avatar
wolfboyft wolfboyft is offline
Pokémon Generation 2 Hacker
 
Join Date: Dec 2014
Location: London
Gender: Male
Posts: 165
So...

I was wondering. I DO NOT want to have to simply edit and make do with the classic, older Johto and Kanto maps.

(BTW I do indeed know how to change the positions of areas on the town map AND the town map itself. So no worries there. JohtoMap/GSC Town Map editor.)

What I want to do... is to use JohtoMap or anything else (preferably not a Hex editor. Somthing with a UI?) To delete ALL the maps and areas, and then create everything from scratch with custom names etc.

Maybe, just maybe... even create a whole new third region as well!

(don't worry about the starting map stuff, I got a tool for that)

In fact, if I could get more regions, that'd be excellent.

Next: Create new Pokémon?

Next: Change trade evolutions to level evolutions?

Next: Add new items?

Next: New people sprites?

Next (lol): Add new moves?

Etc... to make a good hack is what I'm asking.
Reply With Quote
  #2   Link to this post, but load the entire thread.  
Old December 21st, 2014 (1:07 PM).
Fun Size's Avatar
Fun Size Fun Size is offline
 
Join Date: Sep 2014
Location: America
Gender: Male
Nature: Quiet
Posts: 928
Quote:
Originally Posted by wolfboyft View Post
So...

I was wondering. I DO NOT want to have to simply edit and make do with the classic, older Johto and Kanto maps.

(BTW I do indeed know how to change the positions of areas on the town map AND the town map itself. So no worries there. JohtoMap/GSC Town Map editor.)

What I want to do... is to use JohtoMap or anything else (preferably not a Hex editor. Somthing with a UI?) To delete ALL the maps and areas, and then create everything from scratch with custom names etc.

Maybe, just maybe... even create a whole new third region as well!

(don't worry about the starting map stuff, I got a tool for that)

In fact, if I could get more regions, that'd be excellent.

Next: Create new Pokémon?

Next: Change trade evolutions to level evolutions?

Next: Add new items?

Next: New people sprites?

Next (lol): Add new moves?

Etc... to make a good hack is what I'm asking.

What I'd recommend for you is to look at other hacks here for Pokemon Gold (I'm assuming? I've never actually played the Pokemon games before GBA so I don't exactly know what your hacking) since you're just starting out and see what kind of tools they're using. A great example is Pokemon XY: Naturia Version. They have a lot of tools listed that might help you out. I hope you find what you're looking for and good luck on your hack.
__________________


"Memories warm you up from
the inside."
Reply With Quote
  #3   Link to this post, but load the entire thread.  
Old December 22nd, 2014 (3:35 AM). Edited December 22nd, 2014 by wolfboyft.
wolfboyft's Avatar
wolfboyft wolfboyft is offline
Pokémon Generation 2 Hacker
 
Join Date: Dec 2014
Location: London
Gender: Male
Posts: 165
?

Well, I still recieved the eMail notification, Fun Size...

What I'm looking for at the moment, like what I looked for in Super Metroid ROM Hacking, is an IPS patch that is only one map, and let's me make my own!

EDIT: Before that it seemed you had deleted your post.
__________________
Please consider helping me with my hack []



$ git gud --super wolfboyft
Reply With Quote
  #4   Link to this post, but load the entire thread.  
Old December 22nd, 2014 (12:33 PM).
Fun Size's Avatar
Fun Size Fun Size is offline
 
Join Date: Sep 2014
Location: America
Gender: Male
Nature: Quiet
Posts: 928
Quote:
Originally Posted by wolfboyft View Post
What I'm looking for at the moment, like what I looked for in Super Metroid ROM Hacking, is an IPS patch that is only one map, and let's me make my own!

Well you could scout around, but.... I don't think you'll really find anything you're looking for, but I could be wrong. Also an IPS patch is not gonna allow you to make your own map you'll need something like JohtoMap (which you have) to make it. And I'm seriously confused about why you want to create one map if you're making a Rom hack.
__________________


"Memories warm you up from
the inside."
Reply With Quote
  #5   Link to this post, but load the entire thread.  
Old December 23rd, 2014 (1:57 AM).
wolfboyft's Avatar
wolfboyft wolfboyft is offline
Pokémon Generation 2 Hacker
 
Join Date: Dec 2014
Location: London
Gender: Male
Posts: 165
Quote:
Originally Posted by Fun Size View Post
Well you could scout around, but.... I don't think you'll really find anything you're looking for, but I could be wrong. Also an IPS patch is not gonna allow you to make your own map you'll need something like JohtoMap (which you have) to make it. And I'm seriously confused about why you want to create one map if you're making a Rom hack.

No... it'd delete all maps, and let me create more myself.

But my scout planes found nothing.

I must know how to delete and create new maps in JohtoMap or GoldFinger!
Reply With Quote
  #6   Link to this post, but load the entire thread.  
Old December 23rd, 2014 (2:37 AM).
miksy91's Avatar
miksy91 miksy91 is offline
Dark Energy is back in action! ;)
 
Join Date: Oct 2008
Location: Finland
Gender: Male
Posts: 1,480
Quote:
Originally Posted by wolfboyft View Post
No... it'd delete all maps, and let me create more myself.

But my scout planes found nothing.

I must know how to delete and create new maps in JohtoMap or GoldFinger!
Here you go: http://hax.iimarck.us/topic/852/
Doesn't get any easier than this however.
__________________
Pokémon Dark Energy
Some ROM hacking related stuff
Reply With Quote
  #7   Link to this post, but load the entire thread.  
Old December 23rd, 2014 (2:53 AM).
wolfboyft's Avatar
wolfboyft wolfboyft is offline
Pokémon Generation 2 Hacker
 
Join Date: Dec 2014
Location: London
Gender: Male
Posts: 165
Quote:
Originally Posted by miksy91 View Post
Here you go: http://hax.iimarck.us/topic/852/
Doesn't get any easier than this however.
wow the right answer

and from my inspiration xD

EDIT:

Wait... does saying that he's my inspiration mean that he insipired me, or the other way round!?

Cuz he inspired what I aim to do.
Reply With Quote
  #8   Link to this post, but load the entire thread.  
Old December 23rd, 2014 (9:27 AM).
wolfboyft's Avatar
wolfboyft wolfboyft is offline
Pokémon Generation 2 Hacker
 
Join Date: Dec 2014
Location: London
Gender: Male
Posts: 165
Quote:
Originally Posted by miksy91 View Post
Here you go: http://hax.iimarck.us/topic/852/
Doesn't get any easier than this however.
That helped a lot... I now understand more about Hexadecimal editing.

But...

I am having a bit of trouble with whatever these POINTER things are...

I did indeed find where all the map names are stored, but...

How do I edit them, without using the exact same amounts of characters with the exact same spaces?

Hrrrmmm...

I looked in PokéText... nothing.

JohtoMap... nope.

Also, how might I go about making more... maps in the areas?

You know... like... um... how NEW BARK TOWN has a lot of other maps inside it, and NEW BARK TOWN is just a folder to help devs work out what's what/the thing that says that whenever you're in a map in the 'folder' NEW BARK TOWN, it will show NEW BARK TOWN or whatever the folder that the map you're in is in?

Note: I have used your table and can now write (although rather tediously) text inside the ROM.

And a question: is it possible to make a wild pokémon have a 0% catch rate with all pokéballs, including the master ball?
Reply With Quote
  #9   Link to this post, but load the entire thread.  
Old December 25th, 2014 (1:56 PM).
miksy91's Avatar
miksy91 miksy91 is offline
Dark Energy is back in action! ;)
 
Join Date: Oct 2008
Location: Finland
Gender: Male
Posts: 1,480
Quote:
Originally Posted by wolfboyft View Post
That helped a lot... I now understand more about Hexadecimal editing.

But...

I am having a bit of trouble with whatever these POINTER things are...

I did indeed find where all the map names are stored, but...

How do I edit them, without using the exact same amounts of characters with the exact same spaces?

Hrrrmmm...

I looked in PokéText... nothing.

JohtoMap... nope.

Also, how might I go about making more... maps in the areas?

You know... like... um... how NEW BARK TOWN has a lot of other maps inside it, and NEW BARK TOWN is just a folder to help devs work out what's what/the thing that says that whenever you're in a map in the 'folder' NEW BARK TOWN, it will show NEW BARK TOWN or whatever the folder that the map you're in is in?

Note: I have used your table and can now write (although rather tediously) text inside the ROM.

And a question: is it possible to make a wild pokémon have a 0% catch rate with all pokéballs, including the master ball?
You should register to Skeetendo Inc. (hax.iimarck.us) and ask more questions there so I don't have to check this thread everytime you have replied :) (unless you like my post, quote me back or something so I will notice it for sure).

Anyway...

Pointers are usually 2-byte data values that point to an address. For example pointer 2A 53 points to address XX:532A in which XX is the rom bank we are currently in. *that XX:532A is a pointer format representation of an address.*
Straight rom address of XX:532A is;

XX * 0x4000 + 0x532A - 0x4000

So for instance, we have pointer FE 64 in address 0x92388 which is the second pointer in that table consisting of 4-byte data values ( [X & Y coordinates (2 bytes)][Pointer (2 bytes)] ). That FE 64 leads to;

XX * 0x4000 + 0x64FE - 0x4000

Here XX is 0x92388 / 0x4000 = 0x24
And so the address where this points to is;

0x24 * 0x4000 + 0x64FE - 0x4000 = 0x924FE

And if you go to that address with a hex editor (and using a table file), you can see that "NEW BARK[1F]TOWN[50]" is written there. Byte "1F" is used for changing the line when viewing the area name with Town Map and "50" is a byte that tells that the name ends here.

So if you want to change the name of "NEW BARK TOWN", repoint it to blank space at the end of the rom bank (so before 0x94000 because the banks starts at 0x24 * 0x4000 = 0x90000 and is 0x4000 bytes long), and write a new name for it there. Take a look at how I have handled the names in Dark Energy if you like.


You can put more maps inside an area by editing the sixth byte in Primary Map Header of each map. That byte is an "Area" byte that tells, which area the map belongs to by using the byte as an index of this table here at 0x92382 (SPECIAL = 00, NEW BARK TOWN = 01 etc.). So basically, we don't have a "folder", or table of maps that belong to each area, stored in the rom file. Instead, each map knows the area it belongs to (from that area byte inside the map's Primary Header).

It's possible to do pretty much anything you want but as of now, I think catch rate of 0% is not possible. You would have to hack that feature in yourself with assembly.
__________________
Pokémon Dark Energy
Some ROM hacking related stuff
Reply With Quote
  #10   Link to this post, but load the entire thread.  
Old December 26th, 2014 (4:52 AM).
wolfboyft's Avatar
wolfboyft wolfboyft is offline
Pokémon Generation 2 Hacker
 
Join Date: Dec 2014
Location: London
Gender: Male
Posts: 165
Quote:
Originally Posted by miksy91 View Post
You should register to Skeetendo Inc. (hax.iimarck.us) and ask more questions there so I don't have to check this thread everytime you have replied :) (unless you like my post, quote me back or something so I will notice it for sure).

Anyway...

Pointers are usually 2-byte data values that point to an address. For example pointer 2A 53 points to address XX:532A in which XX is the rom bank we are currently in. *that XX:532A is a pointer format representation of an address.*
Straight rom address of XX:532A is;

XX * 0x4000 + 0x532A - 0x4000

So for instance, we have pointer FE 64 in address 0x92388 which is the second pointer in that table consisting of 4-byte data values ( [X & Y coordinates (2 bytes)][Pointer (2 bytes)] ). That FE 64 leads to;

XX * 0x4000 + 0x64FE - 0x4000

Here XX is 0x92388 / 0x4000 = 0x24
And so the address where this points to is;

0x24 * 0x4000 + 0x64FE - 0x4000 = 0x924FE

And if you go to that address with a hex editor (and using a table file), you can see that "NEW BARK[1F]TOWN[50]" is written there. Byte "1F" is used for changing the line when viewing the area name with Town Map and "50" is a byte that tells that the name ends here.

So if you want to change the name of "NEW BARK TOWN", repoint it to blank space at the end of the rom bank (so before 0x94000 because the banks starts at 0x24 * 0x4000 = 0x90000 and is 0x4000 bytes long), and write a new name for it there. Take a look at how I have handled the names in Dark Energy if you like.


You can put more maps inside an area by editing the sixth byte in Primary Map Header of each map. That byte is an "Area" byte that tells, which area the map belongs to by using the byte as an index of this table here at 0x92382 (SPECIAL = 00, NEW BARK TOWN = 01 etc.). So basically, we don't have a "folder", or table of maps that belong to each area, stored in the rom file. Instead, each map knows the area it belongs to (from that area byte inside the map's Primary Header).

It's possible to do pretty much anything you want but as of now, I think catch rate of 0% is not possible. You would have to hack that feature in yourself with assembly.
Thank you so much!

BTW Since 0% is not possible within me, I will just make all my bosses trainers or just make do with catchable. :)
Reply With Quote
Reply

Quick Reply

Join the conversation!

Create an account to post a reply in this thread, participate in other discussions, and more!

Create a PokéCommunity Account
Ad Content

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -8. The time now is 9:10 AM.