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

Tool: [WIP] ClassicMap - A Pokemon Red/Blue Level Editor

Lin

JohtoMap/ZOLE Creator
51
Posts
16
Years
    • Seen Apr 26, 2014
    Note: This project is no longer active. You can get the source here: http://www.mediafire.com/?377o5521i20kqdz Feel free to make any modifications to it. You may not sell it or make any money off of it at all.

    Hi there. Some of you may notice the unfinished Pokemon G/S level editor I released (JohtoMap), and I'm here to bring you a new editor for R/B. For the same reason as JohtoMap, ClassicMap is going to be made to make hacking these games much easier. As you guys know, no decent editor out there that can do all the things that AdvanceMap does exists.

    So what is my goal? To create the best public Pokemon R/B level editor. I am posting it here unfinished because I want to include all realistic suggestions. Here's what I have so far:

    -Map editing
    -Event editing
    -Wild Pokemon editing
    -Displaying the town map
    -Everything loading from the ROM (Includes town map marker graphics and all other game graphics used), which also includes Pokemon Names

    I plan to have the following:

    -Fly point editing
    -Town map editing (The data IS compressed but it's weak)
    -Map name editing (Although... Not as important as the rest of the stuff)
    -Header editing, including data repointing
    -Connection editing with straight-forward editing like AM has it, not JM

    Some screenshots (As usual, not 100% up-to-date):

    http://img24.imageshack.us/img24/5141/classicmap3.png
    http://img262.imageshack.us/img262/3199/classicmap4.png

    This project will be open-source, so if you know C# and there's no chance of me adding it, perhaps you could. Also, you'll notice this looks a lot like JohtoMap. I did actually copy the layout from JM, and even use bits of code from it. It uses the same icons, and everything to make ClassicMap look like JohtoMap.

    One more thing: I've found all this data on my own. The only thing I haven't found on my own is the "Event Displacement" formula or the text table. This means I will fully understand data formats and can make it a lot easier to edit.

    But that's it. Hopefully since other WIP projects are allowed, this one will be.

    ~Lin
     
    Last edited:

    miksy91

    Dark Energy is back in action! ;)
    1,480
    Posts
    15
    Years
  • Looks pretty amazing indeed :)

    Here are some suggestions:

    You could add support for Yellow as well. The map header locations are different but I've made a complete list of them including the event data for some of them.
    If you want, I can PM the list for ya.

    You could also make it so that it displays the pokemon in "wild pokemon changer" -menu in alphabetical system instead of the way they're shown in the game.
    And for wild pokemon menu, also include the location of start of the grass pokemon data so that it could be repointed easily.

    "Map name editing (Although... Not as important as the rest of the stuff)"
    I'd say, don't include that feature. It can be done so easily without any editor so if you can't do something as simple as that, you really shouldn't be hacking 1st gen in the first place. I myself had hard time learning how pointers worked and afterwards, how to change the locations of events in yellow.

    By the way, where did you find the start of "town map events" data ?
    I mean, the way you change the locations of different maps shown in town map.
     

    Lin

    JohtoMap/ZOLE Creator
    51
    Posts
    16
    Years
    • Seen Apr 26, 2014
    Looks pretty amazing indeed :)

    Here are some suggestions:

    You could add support for Yellow as well. The map header locations are different but I've made a complete list of them including the event data for some of them.
    If you want, I can PM the list for ya.

    You could also make it so that it displays the pokemon in "wild pokemon changer" -menu in alphabetical system instead of the way they're shown in the game.
    And for wild pokemon menu, also include the location of start of the grass pokemon data so that it could be repointed easily.

    "Map name editing (Although... Not as important as the rest of the stuff)"
    I'd say, don't include that feature. It can be done so easily without any editor so if you can't do something as simple as that, you really shouldn't be hacking 1st gen in the first place. I myself had hard time learning how pointers worked and afterwards, how to change the locations of events in yellow.

    By the way, where did you find the start of "town map events" data ?
    I mean, the way you change the locations of different maps shown in town map.

    Thank you, the first bit of feedback I've actually received. I'll look into yellow support; it should be pretty easy to add. As for the wild Pokemon editor, it displays Pokemon how the Pokedex displays them. I can't really change it because the combobox and way things are displayed depends on a table in the ROM, which I use, so it'll have to be like that.

    As for the town map data, it's very simple. I did a quick debug using BGB and found it. The maps the town map marker uses are at 0x70F11 (+ the selected spot). Next, the table for the X/Y locations and name pointer... Well, I'll just give you the code...

    Code:
    			int x = 0, y = 0;
    			byte map = gb.ReadByte(0x70F11 + (int)nTownMap.Value);
    			nMap.Value = map;
    			int namePointer = 0;
    			if (map <= 0x25)
    			{
    				gb.BufferLocation = 0x71313 + map * 3;
    				byte location = gb.ReadByte();
    				x = (location & 0xF) * 8 + 12;
    				y = (location >> 4) * 8 + 4;
    				namePointer = gb.ReadByte() + ((gb.ReadByte() - 0x40) * 0x100);
    			}
    			else
    			{
    				gb.BufferLocation = 0x71382;
    				while (true)
    				{
    					if (gb.ReadByte() > map)
    					{
    						byte location = gb.ReadByte();
    						x = (location & 0xF) * 8 + 12;
    						y = (location >> 4) * 8 + 4;
    						namePointer = gb.ReadByte() + ((gb.ReadByte() - 0x40) * 0x100);
    						break;
    					}
    					else
    						gb.BufferLocation += 3;
    				}
    			}

    Anything looking like gb.ReadByte() + ((gb.ReadByte() - 0x40) * 0x100); means it's a traditional pointer. Hope it helps.
     

    Platinum Lucario

    The Legendary Master of [color=#D8D48C]Light[/colo
    1,607
    Posts
    16
    Years
  • Hm... seems to me like another map editor for the 1st generation games... oh wait, it is! At least I really do hope this map editor becomes better than Redmap, BluMap, and PokeMap. However, wouldn't it be a good idea to also add support for Pokémon Yellow as well (like what Miksy91 said)? Because those three sure do fit in the 1st generation saga. It can all be made into a map editor that would work very much like what AdvanceMap does. ;)

    It could also be possible to add support for Pokémon Crystal in JohtoMap as well. ;)

    Oh wait! I have another great idea! It could also feature a built in hex editor as well, so you can fix any problems with maps or even any routines that are used.
     
    3,830
    Posts
    14
    Years
    • Age 27
    • OH
    • Seen Feb 26, 2024
    This looks like a wonderful tool. But, with the town map editor, will you be able to edit the towns positions, or just the graphics?
     

    sky_queen3

    Mimikyu is cute :3
    271
    Posts
    15
    Years
  • Looks like it's still being made. :) I want to have a play for fun. Being a tool user I'll never get past the playing stage but still it'll be nice. :D
     

    Shiny Quagsire

    I'm Still Alive, Elsewhere
    697
    Posts
    14
    Years
  • Nice to see some C# tools. I program C# also, and I'm actually interested in a few pieces of code. As I don't really do Gen 1 and 2 hacking, I'm not even going to try to replicate this awesome WIP. In other words, I hope this gets finished. :)
     

    Sierraffinity

    Desperately trying to retire from ROM hacking
    1,069
    Posts
    16
    Years
  • You know what?
    Instead of ClassicMap, you should name this KantoMap, since, like GSC's main region is Johto, RBY's main region is Kanto. In the future, people will be able to look back and say, "Oh, yeah, JohtoMap and KantoMap? They must be by the same author."
     

    Lin

    JohtoMap/ZOLE Creator
    51
    Posts
    16
    Years
    • Seen Apr 26, 2014
    You know what?
    Instead of ClassicMap, you should name this KantoMap, since, like GSC's main region is Johto, RBY's main region is Kanto. In the future, people will be able to look back and say, "Oh, yeah, JohtoMap and KantoMap? They must be by the same author."

    :P The only reason JohtoMap is called JohtoMap is because I couldn't think of another name. I'll look into that though XD

    Sorry for the lack of updates. I've been pretty busy in real life, but should resume work soon (In other words: When I stop being lazy). I have actually done some other stuff but haven't posted it yet. For example:

    classicmap5.png


    I still have to figure out how spritesets work. Also, the sprites in that image are not transparent but are in the final. Thanks for the support you guys.
     

    sky_queen3

    Mimikyu is cute :3
    271
    Posts
    15
    Years
  • Metalmap? :P Or Gameboy Colour Map? :D What if we want certains colours like the how the gameboy has that effect, is that editable?
     

    Lin

    JohtoMap/ZOLE Creator
    51
    Posts
    16
    Years
    • Seen Apr 26, 2014
    Meh... I hope I don't disappoint anyone here, but I may not finish this. It's extremely boring creating a map editor for a game that's been hacked and figured out to death. I'm probably going to release the source and the program as it is, hoping somebody else will finish it. It's pretty organized so I'm sure atleast SOMEBODY will be able to do it.
     

    Pingouin_7

    Guest
    0
    Posts
    It's extremely boring creating a map editor for a game that's been hacked and figured out to death.

    But there's no map editor that lets us edit the whole game.
    Pokemap doesn't even let us edit all of the wild Pokémon data.
     

    tkallab

    Should have been in Dissidia
    1,031
    Posts
    16
    Years
  • This tool is exactly what I've been looking for! Please continue creating it, you wonderful sir you.
    Also, does this mean that this will be a scripting tool too, or only for mapping and changing the events, like AdvanceMap?
     

    Lin

    JohtoMap/ZOLE Creator
    51
    Posts
    16
    Years
    • Seen Apr 26, 2014
    Alright. I don't plan on picking this up as I've been too busy with ZOLE and want to hack other games, so here's the source. Just be sure to give me credit for everything that's already there if you plan on working on it.

    http://www.mediafire.com/?377o5521i20kqdz
     
    3,830
    Posts
    14
    Years
    • Age 27
    • OH
    • Seen Feb 26, 2024
    Alright. I don't plan on picking this up as I've been too busy with ZOLE and want to hack other games, so here's the source. Just be sure to give me credit for everything that's already there if you plan on working on it.

    http://www.mediafire.com/?377o5521i20kqdz
    Had a peek through the code, and all I have to say is... Amazing work!

    It is a shame to see such an awesome project given up on.
     

    tkallab

    Should have been in Dissidia
    1,031
    Posts
    16
    Years
  • Darn, just when I was hoping this would be completed soon... Truly a shame you're giving up on this :/
     
    Back
    Top