Skeetendo

’Cause all games were better on the GBC

You are not logged in.

#1 1970-01-01 00:33:30

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 15/3,578

Adding Events to a Map in Goldmap 1.6

---------------
GETTING STARTED
---------------
Okay, this will explain how to add more events to a map in Pokémon Gold and Silver. This is a very important skill to learn, as you will need to use it quite often. I personally have to use it on almost every town and several other maps while working on Pokémon Secrets and Rumours. Without further ado, here is what you will need:

- Pokémon Gold or Silver rom
- Goldmap 1.6
- Pointer Berechner
- Hex Editor (I'll be using Translhextion)

--------
STEP ONE
--------
The first step is to load your rom in Goldmap and pull up the map you want to add more events to. In this tutorial, we will be adding a new person and house to Pallet Town. With your rom loaded, open the Map Properties dialogue as shown in the attatched screenshot.

mapproperties.jpg



You will notice in the area I've highlighted that there are two pointers: The map pointer and the event pointer. Make note of these. In the case of Pallet Town, these were given as 2A 5497 for the map and 4E 47AA for the events. The last two byte of these are shown backwards in Goldmap, so the actual pointers are 2A 9754 for the map and 4E AA47 for the events.

--------
STEP TWO
--------
Now that we have these written down, it's time to find some blank space to put the new event data in. Go to the address Goldmap says the events are at, and scroll down until you find free space. I'll be putting mine at 0x13A180. Enter that address into pointer berechner to find the pointer. The pointer to my new address is 4E 8061. Notice I didn't swap these, as unlike Goldmap, pointer berechner shows them properly.


pointer.jpg

----------
STEP THREE
----------
Now that you have your pointers found, we need to do something with them! Open your rom in your hex editor and do a search for the map pointer. Remember, Goldmap shows the last two byte of the pointer backwards. You need to swap the last two bytes before you search for them. Do a search for the 3 bytes of the map pointer followed immediately by the first byte of the Event Pointer.

headerndy.jpg



This has taken us into the map header. You will notice that there are two more bytes between the first byte of the event pointer and the last two we saw in Goldmap. These point to the map script, so we ignore them for now. Take the pointer you found in step two and type the last two bytes of it over the ones for the old event data. In my case, I typed 8061 over AA47. Save your rom with a new name so you have the original as a backup. You'll see why in the next step. Congratulations! You've just repointed the event data!

---------
STEP FOUR
---------
Now that you have repointed the events, it's time to go back to Goldmap. Reload your rom and go to the map you repointed the events for. You will notice it loads no events on the map. This is what it is supposed to do, as there is no data there yet. In a seperate instance of Goldmap, load the old rom. This is just for comparison. In the one you repointed, go to Tools/Reconstruct Events. It will say 0 for every type. Enter here however many you need. In this tutorial, we are adding a person and a warp. So we will enter 4 warps, 0 Triggers, 4 Signposts, and 3 People. Press OK. Now this will cause it to pop up with a warning, but ignore it and press OK agan.

warningv.jpg



---------
STEP FIVE
---------
Using the old one as a guide, put the events back where they were and give them the data from the old events. To save future headaches, make sure the warps have the same number as the old ones when you put them back on doors. ie- Since Warp 1 was Ash's House, Warp 2 was Gary's house and Warp 3 was Oak's lab, we'll put these that way this time, and use warp 4 for our new warp. The numbers on people arent usually as important to keep the same.

--------
STEP SIX
--------
Now that you have all that copied, you will need to fill out the data on your new warp and person. As this is not a tutorial explaining scripting, we will make the new person just be a clone of the fat man below Oak's lab, so we will give him the same data as the fat man. Congratulations! You just added new events to a map!


EDIT: On a completely unrelated note, it just occured to me that I took these screenshots/wrote this back when I was running Vista, before I got rid of it for XP.

Offline

#2 1970-01-01 00:33:30

Miksy91
Member
Registered: 2010-10-16
Post 118/2,339

Re: Adding Events to a Map in Goldmap 1.6

I've the comdlg32.ocx problem with like every program out there and I can't use pointer berechner either. Do you know of any other pointer calculator to use ?

Offline

#3 1970-01-01 00:33:30

Luigi-San
Member
Registered: 2010-10-16
Post 13/129

Re: Adding Events to a Map in Goldmap 1.6


I've the comdlg32.ocx problem with like every program out there and I can't use pointer berechner either. Do you know of any other pointer calculator to use ?

I found a different version of Pointer Berechner.

http://magicstone.de/rhw/index.php?pn=s … chner%20DX

Offline

#4 1970-01-01 00:33:30

Tauwasser
Member
Registered: 2010-10-16
Post 34/452

Re: Adding Events to a Map in Goldmap 1.6

Just download comdlg32.ocx and put it in the same directory.

cYa,

Tauwasser

Offline

#5 2010-12-30 11:36:49

EvilOttoJr
Member
Registered: 2010-12-05
Post 33/86

Re: Adding Events to a Map in Goldmap 1.6

I'm confused. I need to add 5 standing Pokemon scripts for that little map in Silver Cave (map 4, you need waterfall to get to either of them, just two items and two warps). There is plenty of free space in bank 47 for that so it's not issue. What I'm confused about is how Gold Map or Johto Map will know which new person is which Pokemon script. How do I make them correspond to which numbers and stuff and GAHHH I'm confused... :'(

Offline

#6 2010-12-30 12:12:44

Miksy91
Member
Registered: 2010-10-16
Post 232/2,339

Re: Adding Events to a Map in Goldmap 1.6

I use JohtoMap alright but then again, I know how to hex edit everything I do (not gonna be a cheater) :D

JohtoMap can actually be very helpful if doing this.
When the event data is repointed, JohtoMap automatically writes the event data, of the events that already existed in the map, to the repointed offset !
If you normally repointed the event data to a blank space, you'd lose the event data of the map (it would just load 00's as the events: 0 warps, 0 signposts etc.)

If I wanted to add more events to a map (and JohtoMap didn't exist), I'd open two roms with a hex editor at the same time; a back-up of the rom with the original events and the repointed rom (which doesn't have event data after repointing). Then, I'd just "copy" all the bytes from the event data of the back-up rom to the free space (where you repointed the event data) in the repointed rom (and change the number of warps, signposts, people). After that would be done, you could easily add more events in by hex editing (or using GoldMap would be easier because you wouldn't be able to add more warps or signposts without moving people data further).


But, there is one minor problem with JohtoMap (at least for now).
It doesn't let you choose the offset where you want to repoint the event data :\

Last edited by Miksy91 (2010-12-30 12:19:45)

Offline

#7 2010-12-30 12:18:45

Cloud
Member
Registered: 2010-12-18
Post 19/302

Re: Adding Events to a Map in Goldmap 1.6

Btw miksy, can you post a tutorial for Johto map? I've a problem with map connection after resizing new bark town from Johto map

Offline

#8 2010-12-30 12:20:56

Miksy91
Member
Registered: 2010-10-16
Post 233/2,339

Re: Adding Events to a Map in Goldmap 1.6

Cloud96 wrote:

Btw miksy, can you post a tutorial for Johto map? I've a problem with map connection after resizing new bark town from Johto map

I haven't figured out how connections work yet, in the demo of my silver hack, I just made it so new bark town (or southern edge) has no connections by going to the map header and change the connection byte to 00.

I'll think about making a johtomap tutorial.

Offline

#9 2010-12-30 21:45:25

EvilOttoJr
Member
Registered: 2010-12-05
Post 34/86

Re: Adding Events to a Map in Goldmap 1.6

The tool itself isn't as important. I'm just trying to figure out how the actual number of warps and such correlates to whatever new data you type.

Offline

#10 2010-12-30 22:12:20

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 380/3,578

Re: Adding Events to a Map in Goldmap 1.6

Well, let's take warps for example. If the map has 2 warps, it will look for 2 blocks of 5 bytes immediately following the byte saying number of warps. So it would look like:

02 04 05 01 01 01 04 04 01 01 01

This shows 2 warps, the first being at 4,5 on the map and warping to warp 1, bank 1 map 1. The other is at 4,4 on the map and warps to the same place

If you wanted to expand it so the map had 3 warps, you would have to repoint it, and add the new warps in with the others, then copy in the rest of the events that followed. so you would change it to

03 04 05 01 01 01 04 04 01 01 01 02 05 01 01 02

This shows 3 warps. The first 2 are the same as before, and the new one is at 2,5 on the map and warps to warp 1, bank 1, map 2

The game tells which "number" a warp is by which one it is in order, like that.
And on your earlier question of which script goes with which event, each event that uses a script simply has a 2byte pointer to the start of its script in the event structure. I hope this helps, instead of just confusing you further. If it is still confusing, let me know and I'll see what I can do.

Offline

#11 2010-12-30 23:13:54

EvilOttoJr
Member
Registered: 2010-12-05
Post 36/86

Re: Adding Events to a Map in Goldmap 1.6

That makes sense. And so for people I'd just put two-byte pointers to an event in the same bank after the X, Y map position?

Is there a way I can use this method to add trainers from scratch and keep them in the same bank as the rest of the event data for my map? I want to make a cameo of myself and my buddies with our own personal parties. I also want these trainers to be, like, infinite. As in, you can beat them, then just talk to them again and fight them again as many times as you want. Also, I'd like these to be the same Trainer Class ("PKMN Trainer") as Red.

Also, is it possible to have a person blocking a path so you can only get there after you defeat Red (i.e, beat Red and he disappears)?

Last edited by EvilOttoJr (2010-12-30 23:16:45)

Offline

#12 2010-12-31 00:20:18

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 382/3,578

Re: Adding Events to a Map in Goldmap 1.6

OK. For the people, yes you would add their script although it is not immediately following the XY values. they also have values for which sprite they show, which way they are facing, a bit flag that will hide them if it is set, and other things. All of that is documented in Tauwasser's Scripting Compendium near the end.

To make a trainer able to be battled again and again, there are a few ways you could do that. One way is to have their function byte set them as a trainer, have their script pointer point to the normal data a trainer would, and for the Flag to set, set it to the one that is reset every time you change the map (again, documented in the scripting compendium)

Another way would be to have him be a normal person, who points to a script that would face the player, load the text he says when you talk to him, load the trainer data, start the battle, evaluate if it was won or lost and then end, without having it set a flag or check for one to see if he has been beaten. This way you don't have to leave the map to fight him again, but the script is a bit longer.

To have someone move after you beat Red, you would just look and see which flag is set when he is beaten, and then go to the person you want to disappear and set the flag in his event data to be the one for red. That way he will be there up until you beat red, and then he will go away and let you get to whatever he was blocking. Like in SaR where you have to beat Brock for the girl and her Pikachu to stop blocking the exit to the Route Gate.

Offline

#13 2010-12-31 22:37:53

EvilOttoJr
Member
Registered: 2010-12-05
Post 37/86

Re: Adding Events to a Map in Goldmap 1.6

So I wouldn't have to put my new custom trainers in with the rest of the trainers, then?

Offline

#14 2010-12-31 23:02:52

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 383/3,578

Re: Adding Events to a Map in Goldmap 1.6

Well, their event data would have to go with the other person events on that map, but their scripts could be anywhere in the same bank

Offline

#15 2011-09-04 02:40:45

hacker
Member
From: Batam Grove City
Registered: 2011-07-30
Post 34/548
Website

Re: Adding Events to a Map in Goldmap 1.6

@Mateo, can I add new place to catch legendary pokemon ?
ex: I want to catch mew in new place

@Mateo, can I add new trainer in that tutorial?
pleeease answer,

Last edited by hacker (2011-09-04 02:44:34)


[POKÉMON JOURNEY] hacking planning 2012
Visit my website  www.pokemonhackingblog.blogspot.com

Offline

#16 2011-09-05 18:53:38

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 959/3,578

Re: Adding Events to a Map in Goldmap 1.6

Yes you can. Standing pokemon and Trainers are just person events. There is a tutorial posted on how to make standing pokemon events. The scripting compendium also deals with the format of what a trainer's "script" should look like. I say "script" because it does not point to a normal script.

Offline

#17 2011-09-07 00:13:47

hacker
Member
From: Batam Grove City
Registered: 2011-07-30
Post 41/548
Website

Re: Adding Events to a Map in Goldmap 1.6

Wow,that's cool!
thank's @Mateo!

@Mateo, when I open safari zone I can catch any pokemon in there..,
so, can I add more wild pokemon in there?

answer pleease,


[POKÉMON JOURNEY] hacking planning 2012
Visit my website  www.pokemonhackingblog.blogspot.com

Offline

#18 2011-09-07 03:40:40

amvz08
Member
From: Philippines
Registered: 2011-06-27
Post 134/600

Re: Adding Events to a Map in Goldmap 1.6

where could I find the Dude's script?the first encounter,im planning to do that a trainer battle, and the second encounter, maybe a give item script. What will I put on the hex editor? I have no PKSV.


Trust me, I'm an Engineer

>>>Pinoy ka ba? Pasok ka dito<<<

Offline

#19 2011-09-07 16:45:00

Mateo
Member
From: The Sims 4
Registered: 2009-11-25
Post 962/3,578

Re: Adding Events to a Map in Goldmap 1.6

@hacker - to add pokemon to the safari zone you will have to do one of two things:
1) repoint Kanto's wild pokemon table and add a new entry for the safari zone
OR
2) take a map that you don't care about not having wild pokemon on anymore (in kanto) and assign its data to the safari zone map. This way is a bit easier, and if you had a route that was mainly a sea route but had a bit of grass as well, you would still keep the water pokemon and could just not have grass anymore on that route.

@amvz - I don't have that script lying around and ready to post, but when I have time I'll try to help you out with it.

Offline

#20 2011-09-08 01:14:11

amvz08
Member
From: Philippines
Registered: 2011-06-27
Post 135/600

Re: Adding Events to a Map in Goldmap 1.6

okay men,i will wait for that,hope you give me the whole string of hex script.


Trust me, I'm an Engineer

>>>Pinoy ka ba? Pasok ka dito<<<

Offline

#21 2011-09-08 06:43:37

hacker
Member
From: Batam Grove City
Registered: 2011-07-30
Post 43/548
Website

Re: Adding Events to a Map in Goldmap 1.6

Thank's @Mateo,!
Oh,and can I move someone with goldmap 1.6?
ex: I want move Leader Falkner to Cianwood Island

Pleassssse answer,..

@Mateo, can you tell me how to edit city's name?
ex: Safron city-->Black city or else,


[POKÉMON JOURNEY] hacking planning 2012
Visit my website  www.pokemonhackingblog.blogspot.com

Offline

#22 2011-09-08 14:51:02

Cheestendo
Member
Registered: 2011-03-30
Post 289/319

Re: Adding Events to a Map in Goldmap 1.6

You could change the script , like just copying the data from one to another. Or just change the warping,
and onto the city name changing , i think this question is being asked alot.
Answer : learn hex, it's alot easier then it seems.
Open a hex editor. (i use Goldfinger)
Find data about Gold tables , create a notepad and copy the data in it.
In hex editor , ''File'' ''Open table'' and open the notepad what you just created.
''Search'' , if your using Goldfinger then you will have to write the data name with 80,81,81 a.s
Hope this helped :)

Offline

#23 2011-09-09 06:13:08

hacker
Member
From: Batam Grove City
Registered: 2011-07-30
Post 47/548
Website

Re: Adding Events to a Map in Goldmap 1.6

Hmm,
Thank's @Cheestendo!


[POKÉMON JOURNEY] hacking planning 2012
Visit my website  www.pokemonhackingblog.blogspot.com

Offline

#24 2011-09-09 14:27:33

Cheestendo
Member
Registered: 2011-03-30
Post 291/319

Re: Adding Events to a Map in Goldmap 1.6

hacker wrote:

Hmm,
Thank's @Cheestendo!

Maybe it's just a figure of speech, but this post makes me think you didn't understood my post. :)

Offline

#25 2011-11-06 20:27:05

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

Re: Adding Events to a Map in Goldmap 1.6

I'm confused. You didn't explain what it was you used to find free space...

I typed the hex number from Goldmap into Tranx and nothing popped up.

EDIt: Nevermind. I think I did it right. I included the "x" infront of the offest.

Last edited by tysonrss (2011-11-06 20:28:15)


Pokemon Blue DX is reborn!

Offline

Board footer

Powered by FluxBB