• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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: Mapping Editor [Cancelled]

I plan to recode and compile several tools... especially essential ones such as a mapping and scripting editor. The new mapping editor would be great because AdvanceMap and the unfinished MEH will not be needed anymore.

Technically we could also compile the tools for Android and iOS so guys can also hack at school/train/whatsoever.
 
The creator of A-Map seems like a d*ck to me, but nevermind. I will create seperate threads where anyone can post research stuff regarding the mapping/tiling system and the main coding should be done soon. :)

PS: I am currently writing a C++ library for handling ROMs fast and securely, so that everyone might program a tool on top of it without messing with files. Code can be viewed here.
 
Last edited:
Hi! It seems I'm still not well known enough around here. Welp, the scripting problem was solved ages ago. To be fair, PKSV-UI works just fine in wine, but even then I made my own script editor with XSE and PKSV compatibility as well as some extra features:
https://www.cosarara.me/py/redalien/
I even wrote documentation for it.
Also, https://github.com/nicholatian/sapphire/ exists (but I don't know how feature complete it is ATM).

The map editor though is another matter. AM does work on linux, but I started working on a replacement anyway:
https://www.cosarara.me/py/bluespider/

But I abandoned it, so it only implements a subset of features (a different subset than MEH though).

Anyway, keep Red Alien in mind, and feel free to use Blue Spider as a base or help if you want to write a map editor.
 
Hello!

I can understand your point, but my intention is to create native applications which can run on the desired OS without messing with interpreters or emulators. I will keep your editors in mind, though. Looks like you worked nicely on them! :)

By the way, I just implemented something that all other editors are missing: Proper displaying of all escape sequences and japanese characters in the gamefreak latin encoding.
 
Mapping Editor - Collecting ideas

Now that the ROM library has enough features to write clean and fast code, I'm writing a new map-editor, which is desired by many users because A-Map is quite buggy. This thread now is used to collect ideas for innovating features which reduce the amount of expenditure in terms of mapping, tiling, etc itself but also bug-fixing.

There are a few things, apart from the default ones, that will be implemented for sure:

  1. Undo/redo system
  2. Multi-block selection by clicking and moving the mice
  3. Easier tileset insertion (palette quantizing within the editor)
  4. Solution file to fully organise maps, events and other stuff
If you have a nice idea you want to share, do it here. In case I like the feature, I'll be willing to implement it eventually. :-)
_________________________________________________________________________________________

Suggested features so far:
# implemented automatically, # requires work (but sure), # not possible/too undynamic

  • Triple layer hack for FR/LG (by Kimonas)
  • Better in-program documentation (by DizzyEgg)
  • Either automatic or manual free space finder (by DizzyEgg)
  • Search function within wild-pokémon-editor (by tzujm33)
  • Dynamic Pokémon reading (by bugsbunny)
  • World-map editing (by wally-217)
  • Expandable map names (by thedarkdragon11) [will do this for sure!]
  • Easier tile inserting (by Munichtastics)
  • Preview connections directly in the map tab (by tzujm33)
  • Export/import map data (by Shogun)
  • Expandable flying positions (by Shogun)
  • Block <> Movement association (by chrunch)
 
Last edited:
What about an implementation of a "third layer"? MEH had this and Shiny Quagsire kindly posted his code for this here. Also, good luck with your project :)
 
Mapping Editor - Collecting ideas
Now that the ROM library has enough features to write clean and fast code, I'm writing a new map-editor, which is desired by many users because A-Map is quite buggy. This thread now is used to collect ideas for innovating features which reduce the amount of expenditure in terms of mapping, tiling, etc itself but also bug-fixing.

If you have a nice idea you want to share, do it here. In case I like the feature, I'll be willing to implement it eventually. :-)

Here are some of my ideas:
- ability to read offsets past 0x08FFFFFF, working free space finder as well as being able to define offsets manually
- more in-program documentation on behavior bytes, 'unkown' parts of npc data and movement bytes
- more readable header file and some kind of a warning that there are multiple maps that use same footer/scripts or events data
 
i would like to see some sort filter for a wild pokemon editor (you would implement one rigth?)
In amap i soemtimes have to scroll annoyingly much, so i think it could be useful to filter the pokemon list by type and dex number (or gen) and maybe even bst or stage of evolution.
 
First of all, as a Maccer, THANK YOU. Secondly, I think, going off the Wild Pokémon Editor and with the coming of various 721+ patches, the ability to use the expanded Pokédexes from said patches would be fantastic.
 
bugsbunny: It's perfectly fine to dynamically determine the amount of pokémon in the game (to be specific, there is a check that the machine code does with that number).

tzujm33: As for the idea with a "search" function, that's a pretty easy feature so I am definitely willing to implement it.

DizzyEgg: If beeing a smart and dynamic programmer, every pointer past 0x08FFFFFF can be read easily, as it's just substracting the little-endian pointer by 0x08000000 (which basically gives you the offset 0xFFFFFF for 0x8FFFFFF and 0x1FFFFFF for 0x9FFFFFF! Descriptions are not a problem, they just need to be researched. About the last one: I will think about it, not many people will probably need it because there are just a very few maps of that kind.

Ah yes, any research concerning the features can be also done by you. I really would appreciate all the help I receive regarding research. You are also invited to join the IRC https://chat.linkandzelda.com:9090/?channels=rh and speak about features in real-time. :-)
 
Mapping Editor - We started off!


I have now finally started coding on the mapping editor and it is going just fine! The configuration file has already been created and parsed, wild pokémon data can be fully read right now as well as the tileset data which holds the image, 13 palettes and tile data. The next destination will be the full map footer, containing events, map blocks and map border. The progress can be watched here. If you own a github account, be sure to follow it!

And you are still free to suggest any features and file any questions concerning the map editor, they will be put in the list within the post above. The undo/redo system works so far, though I am convinced that it's memory management can be improved significantly. Unlike other editors, it uses full error management and the user will be informed
with a detailed error message as soon as an error occured. All the errors will also be saved within a log-file so it can be shared in case the MapEditor contains a serious bug. The configuration file system contains seperate files for each ROM version whereas each file contains clean and easily readable XML data. It also has an attribute so the version of the data can be determined and backwards-compatibility can be ensured. An example can be found here.

 
Many of the things you mentioned are already implemented because I design my code dynamically. The so-called configuration file (ini) is a bit different from other programs, because it uses the XML data tree structure that makes it possible to implement different versions of the file.

As for the map names, I'll look deeper into this. I've not yet researched the map-name-table but will do soon as this is the next thing I am going to implement before I can release a little demo of the tool. If anyone reading this can offer research, it'd be appreciated.
 
Many of the things you mentioned are already implemented because I design my code dynamically. The so-called configuration file (ini) is a bit different from other programs, because it uses the XML data tree structure that makes it possible to implement different versions of the file.

As for the map names, I'll look deeper into this. I've not yet researched the map-name-table but will do soon as this is the next thing I am going to implement before I can release a little demo of the tool. If anyone reading this can offer research, it'd be appreciated.

That's great! ^^

By the way, this might help: https://www.pokecommunity.com/threads/212492
 
I actually just waited for someone to suggest this :-). Yep, that's totally possible by coding a palette quantizer which basically does what Irfanview does, but it does not mix up the background color. I've not yet decided how exactly I will design this, but you for sure will never have to use any external programs (apart from paint or something) again. ;-)
 
Thats amazing to hear!
Well you know there are tons of amazing tilesets all over the internet and i think that a lot of people (including me) are just not capable or just too lazy to import those.
It will really boost the quality of romhacking (ofcourse fantasy is needed)

U should check out the RPGMaker, that system of tile adding is soo much easier. Just throwing some idea's, not even sure if anything like that is possible.

Anyway best luck with your concept!
 
Easy for whom :-P? Just kidding, I will try my best to make it as easy for the user as possible. Unfortunately the GBA has it's limits so if you throw in a huge image with 500 colors, the output will not be satisfying. If you really want to know, these are my concepts so far:

1. The user throws in a single tile or tile group (trees for example) he wants to insert.
2. The user should have already kept the amount of colors low, for best output.
3. Program converts the image to be 16 colors only.
4. User will be asked whether he wants to insert those 16 new colors into a palette or if he want to use a previous palette for the image (if you, for example, want to insert another tree-like tile afterwards, this can be useful!)
5. User will be asked for the location to insert the tile (will be visual of course)

I will also for sure implement the "old method" by AdvanceMap to be able to insert the whole tileset at once and load palettes from files, for those who feel limited by the steps mentioned above.
 
Back
Top