View Full Version : [Tutorial] Changing the worldmap COMPLETELY

November 6th, 2007, 2:19 PM
Hi guys,

yes, even if nobody can believe it, I've finally completed the tutorial! It was a huge amount of work, now it's up to you to make the best out of it!



November 7th, 2007, 7:20 AM
Great job, as always. I'm already looking forward to reed other advanced tutorials :P

November 7th, 2007, 7:38 AM
Aha, it's up!
I'll read it tonight when I have time ;)

Argent Crusader
November 7th, 2007, 1:59 PM
Wow, I have waited a very long time for this Mastermind_X! I'm really thankful for this, I hope you next job going be the Day/Night System tutorial!

November 8th, 2007, 5:50 AM
The dn-tut will be even longer since I have to invent one for FRLG and one for RSE. (due to the real time clock)
We'll see... ^^

Argent Crusader
November 8th, 2007, 12:04 PM
Oh, and I'm wondering if you can do something more specific for Emerald about the World Map, because I tried your method in FR and it turned out nicely, but It's really difficult to do that on Emerald with your tutorial, thanks!

zel 2.0
November 8th, 2007, 4:40 PM
http://img225.imageshack.us/img225/2041/screen2sn3.png http://img62.imageshack.us/img62/9072/screen3dv1.png

These are the examples of what you can achieve if you read Mastermind_X's tutorial (I recommend you all to read it very carefully, don't attempt to do everything on the same day, because that'll surely confuse you, better take things calmly, one step per day, and you'll be succesful)

By the way, those are now SG's official maps! DP-esque theme, Yay! :D

By the way2, I'm currently working on fixing the location and the position of the hero's face when you open up the world map (you can see in both screenshots that the position is a bit off the map, that's the last thing to fix everything)

So, good luck and happy map modifying everyone!

By the way3, I'm gonna try to write a little addition to M_X's guide just in case you get confused on the part of creating the world map without using Cyclone (since it works strangely for FR)

November 10th, 2007, 2:52 AM
im going to attempt this however seeing as im using the sevi islands space in my hack, what island map do i have to hack? seeing as there are 7, but 3 different maps of the sets of the islands

zel 2.0
November 10th, 2007, 6:58 AM
Well, FR has 4 maps (1->Kanto, 2->One to Three Islands, 3->Four&Five, 4->Six&Seven), so basically, you can pick any. The problem is finding the offsets for where the stuff is located, as Mastermind_X's tutorial has a few parts where he just touches one specific map (you'll have to work out where the other maps' info is located, usually with VBA-SDL, following M_X's methods) well, I have this info already, but I'd like you to try a bit, before you start asking me or M_X

However, my recommendation is: Stick with Kanto if you'll have a very big region with lots of stuff. If you will have a second region with lots of stuff, I recommend you using Map#2, and avoiding using Map#3, so there's more stuff for the #2 (you can use Map#4 if you need a third region with less stuff)

November 10th, 2007, 7:15 AM
ahh i see.. il try that thanks! =]

im going to find the offsets in the VBA-SDL

what kind of ASM tools do you recommend? im new to ASM

November 10th, 2007, 7:52 AM
You'll only need the Dev or H versions of VBA and VBASDL plus a hexviewer.

November 10th, 2007, 8:07 AM
ok thanks im now going to attempt it:D

EDIT: none of the programs are working :( they just stop responding when i load the rom, the hex viewer/editor works fine..

can someone help?

November 11th, 2007, 3:00 AM
Just a little question, in firered the worldmap isn't stretched over the whole screen, is it possible to do that?

I'm not sure if i'm ready to pull this off,
but i'm trying.

November 11th, 2007, 4:22 AM
How I make to change world map in Fire Red?
I used cyclone and I was thus:

I tried to use the Tile Layer Pro, Tile Molester and TilEd 2002 but I did not obtain to find it.
Somebody can help me?

zel 2.0
November 11th, 2007, 5:54 AM
@Cronos: It is possible to do that, but, you'd have to touch the scroll that FR has, because it gets in the way for a little moment (you can find the scroll on unlz, but I haven't modified it, as I wanted to retain it)

@Juan: That's why I said on an earlier post that Cyclone behaves improperly (though I had better results when I used it on a map that turned out wrong... XP), as I said before, hex is the best way to generate the look of the map, I'll try to write a mini guide for that, but I need some time and inspiration.
Besides, it looks as if you messed up with something...

November 14th, 2007, 8:09 PM
Dang, I going to attemped this when I get some time away from my homwork and social life >_>..

I did glace over the guide though, and I actually susprized that its nor as hard as I thought. Though it can be confusing for n00bs..

Thanks for the Tut Mastermind_X! I cant wait till the Day & Night guide! :P

November 15th, 2007, 7:52 AM
Wow such an advanced tut, and its so confusing,
Ohwell im gonna read it, even if it does take 1 hour or so to understand,
This is such an help to advance hacking thanks alot M_X

November 15th, 2007, 5:17 PM
i am having in making a sinnoh world map in pokemon ruby can anyone help me out please

November 16th, 2007, 3:04 PM
This isn't a place to request things.

I just looked at the tutorial(A bit late), and as soon as I finish my exams this week, this will be the first thing I'm going to try and do. Hopefully, I can get it to work. My only worry, is changing the actual image the map. Oh well I guess I'll figure it out. I guess, like Zel said, hex is the way to go.

November 17th, 2007, 4:28 AM
nice althought i had to learn the hard way and figure it out myself

November 17th, 2007, 12:05 PM
isnt that easyer to use elitmap to change the map? you can change everything in ther too...

November 17th, 2007, 2:22 PM
EliteMap isn't able to change the worldmap. It only claims that it could be done with EM, but the feature never was integrated. The only way to edit the worldmap is this tutorial. (Until this mysterious tool is completed. ;-) )

zel 2.0
November 18th, 2007, 8:12 AM
This is what I managed to write about that part, hope at least this guides you through the somewhat tiring task of creating the worldmap's look with hex (obviously, this is most for people who already have done some things with hex...) Here it goes...

OK, let's start this semi-tutorial for making new maps visually. When I reached the part where Mastermind_X said "change the map using a program called Cyclone. The tool won't work for FRLG", I thought, "but I heard Cyclone really works on FR", so why don't we give it a try?

And so, I went to Cyclone, made a map using the tileset I stored from the emulator (using the Tile Viewer when in the worldmap, and then using the button "Save", I stored the tileset on .bmp format), something like this:

-To the left, the loaded tileset (using File->Load Tileset), to the right, the map I drew

So I saved the tilemap using File->Save TileMap (and I stored it on raw format, as M_X talked something about it)

Once I stored my newly created map, I kept reading Mastermind's tutorial, found free space to store my map, and used UNLZ and repointed the pointer to the map (basically, read his tutorial again to know what I am talking about)

Everything seemed to be perfect, however once I started playing the worldmap was nothing like I drew on Cyclone. Yes, it was using (most) of the tiles I used, but still, there were a lot of errors, and the tiles seemed to be in a wrong order (I'd like to show you how it looked, but I don't want to risk, as I now have everything perfectly on my maps)
In the end, we can say that Cyclone doesn't work perfectly for FR, but, it seems to at least work in some way... (Guess it's something related to sizes' differences between FRLG and RSE)

So, how could I fix that? Well, that's when I remembered about Coolboyman using hex to make the map on rijonAdventures, so I thought, "and what if I take an hex look on that stored tilemap I made with Cyclone?", you'll find something like this:

-That's the tilemap I drew on Cyclone, seeing on an hex editor O.o

As you can see, the tilemap is using hex values for each of the tiles I drew (in my example, 07 00 means dark green and 05 00 means lighter green), so you could basically change every value and get different tiles shown on the map. Pretty simple, just change one of the values to something else, save the tilemap (it'll be stored as raw), then store it again using UNLZ, and, even though the map would still look odd, you should notice that one tile on the worldmap has changed. Cool!
Anyway, keep reading further, as I will try to help you a bit more...

So, that's the way to change the map. But, there are a few aspects to be kept in mind:

*You should remember that 00 00 means the "invisible tile", because the map is basically shown over other stuff (think as if, there are two levels, the map is on the upper level and the other stuff, like the scrolls of the map are on the lower level), so if you do not use the 00 00 where it must when creating the worldmap, then you could step over the stuff on the lower level

*Remember that the tileset can make use of many palettes, if you want to use the palettes other than the "Palette1", according to Cyclone, then you'll have to remember that each tile has a different hex code (and the codes also change with each palette)
For example, if you'd like to use the red dot used on cities, which uses the second palette (Palette2 on Cyclone), as long as you don't move it if you create a new tileset, it has the hex code 01 10. There are not many other tiles using other palettes, but I guess that would depend on how cool you want your map to be...
In the end, whenever you want to experience with different tiles and palettes, just save the tile Map on Cyclone, open it on the hex editor, and see what has changed

Now, let's move onto some tips when creating the new worldmap using hex:

As long as you use the first palette with your tiles, their hex codes will start from 00 00 (the invisible tile) and will increase up to 3F 01 (don't know if the tileset can be longer, ask M_X), so a good idea would be to put your tiles on a kind of grid and put the numbers around so that you can identify them easily for when you start drawing the map on hex, something like this:

-So the first tile (the one dark blue), which is the invisible tile is 00 00, then the next one is 01 00, then the next (the dark green) is 02 00. Following the example, the first tile on the second row would be 20 00, hopefully you get the idea of how I did things (it helped me, you may follow your own way)

So, once I had that "tile guide", I opened the map that I wanted to insert on my images editor...

-That's the map I made using all the tiles available on the tileset (forget about the black dots, that was an example map). I'd recommend you using an images editor that can show you a grid of 8x8 so you can see each tile easily. Mine is Paint Shop Pro

So, you have the map, the "tile guide", and your tileMap that you'll be changing loaded on your hex editor, so you have all the necessary to start putting the proper hex codes to make your own map using hex!

By the way, you should also know that the tiles can also be modified, and the palettes can also be changed (the tiles can be found using UNLZ's Deep Scan function, it will be around the offset M_X found them with his method), so basically, once you find the tiles, changing them is just like changing any other thing using UNLZ (I wouldn't recommend you changing the tiles unless you are a highly skilled rom hacker, though)

And, because I know it'll come in handy, I'll also upload a base tileMap, if you want to insert it, it'll be just one empty green worldmap, but it'll work as a base for your own maps (basically, don't touch anything besides the 06 00), obviously, take it out of the zip -_-

November 19th, 2007, 7:06 AM
Great, thanks for the description, zel! I'll add that to the main tutorial.

Btw... it's nice to see somebody but me using the good old Paintshop. ;-) Strange, my first approach to the maps took place pretty similar to the method you were using. (The 8pixel-tile-grid, the bases, the hexdumps, and so on ^^)

Pat Dude
November 28th, 2007, 4:23 PM
Nice, Mastermind. Although I hate hex, I might try this out. *Crosses fingers*

November 29th, 2007, 2:58 PM
Nice, Mastermind. Although I hate hex, I might try this out. *Crosses fingers*

Tools can be used by anyone. The real hacker is able to change a game only by interpreting hexcodes.
Good luck! ^^

November 29th, 2007, 4:06 PM
Will this work on All Games? I meant, Is it similar on Gold, Blue, etc.

December 1st, 2007, 3:49 AM
Nope, this tutorial only works for the GBA-generation's versions.

Lady Berlitz
December 1st, 2007, 8:58 AM
Even though I'm lazy and I'm probably never going to try to follow this tutorial; I read it. It's very complicated but maybe one day I'll have the feeling to use it. I've never tried ASM hacking, but since it's so good I'll try it now!

December 1st, 2007, 3:25 PM
You won't need any ASM knowledge if you're going to hack FR since all the offsets can be found in the tutorial.

December 1st, 2007, 4:36 PM
What offset in Unlz-GBA does the .raw go back into the ROM? I downloaded the tileMap the Zel posted, but I don't know exactly how to put it in my ROM!

zel 2.0
December 1st, 2007, 8:30 PM
What offset in Unlz-GBA does the .raw go back into the ROM? I downloaded the tileMap the Zel posted, but I don't know exactly how to put it in my ROM!

Basically, anywhere where there's free space to put it. Use a hex editor to find free space (as I said before, you should have some experience dealing with hex editors for this tutorial to work to its fullest)

By the way, not all of the offsets are present on M_X's tutorial, the first part takes care of the Kanto map, but, since FR has other three maps, you'd just need to repeat the steps he explains for finding the other offsets (or ask me on a PM, though I'd prefer that you try doing his method, to get used to the tools of VBA and the Debugger on VBA_SDL)

February 18th, 2008, 2:39 PM
Hey guys, I just wanted to inform you: The tool is completed!!! =)

Further information:

February 18th, 2008, 2:43 PM
Heh, that is awsome! I love both of you. I am getting into ASM hacking myself, and I like what you do Mastermind_X.

Thanks Lu-Ho too!! AdvanceMap FTW! :P

Whooz.. I just tried it out, I must say: Just when you think AdvanceMap's got everything covered.. xD

February 18th, 2008, 3:26 PM
all i can say is...DAAAAMMMNNNN...

This fixed the only anooying things i had w/ last release. (open recent rom w/o trudging through files) (easier navigation of menus)

and added amazing features..(world map) and the integration w/ a script editor of choice is a nice add on.

kant wait till i figure out how to work some of it ;) hahaha

April 3rd, 2008, 9:47 AM
I follwed the tutorial but i dont understand enough of it to find the offsets for the 2nd 3rd and fourth maps in FR. if someone could give me them or help me find them it would be very appreciated.

thanks in advance

D a n i e l
April 11th, 2008, 1:43 PM
I've made my own map now but I dont know how to insert it... Can anyone explain it BEGINNER FRIENDLY how to do it.

April 13th, 2008, 2:04 AM
The easiest solution is the tutorial written by zel:


Sorry, I don't know how to explain it more beginner friendly...

D a n i e l
April 13th, 2008, 3:03 AM
Yes, I have made a map, but i just don't know how to put it in the rom. At the step of the repointing I fail...

April 19th, 2008, 4:17 AM
>>MM_X: actually how many tiles can you add?

April 19th, 2008, 2:34 PM
how do I repoint it to my map? I get stuck there... you said to search for "1C F6 3E 08" and "9C 08 3F 08" which do I change to the address of my map... and what is the other used for?

April 19th, 2008, 9:31 PM
the "1C F6 3E 08" is for the tilemap and this one "9C 08 3F 08" is for the tilebase...

to repoint the tilemap, remove the first two zeros then reverse the offset of the new address(e.g. 00123456 -> 56 34 12) then replace the old one "1C F6 3E 08"(e.g. 1C F6 3E 08 -> 56 34 12 08), just don't change the "08"

to repoint the tilebase, remove the first two zeros then reverse the offset of the new address(e.g. 00ABCDEF -> EF CD AB) then replace the old one "9C 08 3F 08"(e.g. 9C 08 3F 08 -> EF CD AB 08), just don't change the "08"

to change it, you got to use a hexeditor the search for the address or just do "goto C0330" for the tilemap and "goto C035C" for the tilebase..!

>>MM_X: tell me something if I wrong and I'll Change it or Delete it

April 24th, 2008, 12:38 AM
i need help with cyclone
each time i try to run the program this comes up
Component FM20.DLL or one of its dependencies nou correctly registerd: a file is missing or invaild

April 24th, 2008, 4:22 PM
how many times did MM_X and zel said that you don't need CYCLONE PROTOTYPE to do this..!^^

D a n i e l
April 26th, 2008, 2:44 PM
Well, now i know how to change the map, but i dont know how to insert the tilebase =P I saved it as a bmp image and now?

May 7th, 2008, 2:45 PM
thanks! I might just try this now that I know how to do it

May 24th, 2008, 12:36 AM
What's ASM code?

I cant edit worldmap T__T
Who can help me?

July 8th, 2008, 3:44 AM
i also have problems
i used cyclone
i have the raw but i don´t know how to find free space too upload -.-
so maybe i understand it wrong xD i read the turtial again and again...
so there must be a adress of the raw from the kanto map but where is it ???
or is there someone who can insert the map for me???

July 8th, 2008, 1:12 PM
ok im making sure im doing this right ive got questions along the way.

1. i made a map using a hex editor and saved it as a .raw file. (if you want to make sure thats right just pm me.)
2. ok im going to save the map again using unlz gba (?1. where can i save it and will i need the deep scan thing?)
3. I am not using new tiles so I only change the first set of numbers to what?

July 17th, 2008, 11:39 PM
well do anybody know the offsets from the islands region map????

July 17th, 2008, 11:56 PM
No need to revive month old threads.