• 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: Mapping Editor [Cancelled]

64
Posts
10
Years
    • Seen Mar 30, 2016
    Are you capable of mind reading? I had the same idea two days ago but was unsure whether I should implement it. But seeing that your post is pretty popular, I will definitely invent some sort of file type that saves preferences in that manner. The hard work for that must be done once for each tileset then. :-)

    Thanks for your support all you guys!
     
    64
    Posts
    10
    Years
    • Seen Mar 30, 2016
    Whats that?

    Looks like we're making progress here! Stay tuned! (This is just a quick test, the GUI of the tab-control will of course be changed ^^)

    Spoiler:


    Benchmark on: Intel Pentium N3540 @ 2.16GHz w. 4GB RAM
    Note: All these benchmarks were made in debug mode, unoptimized!

    • Loading all tilesets, maps, wildpokémon, events, pokémon names
      (so basically everything related to maps) takes 215ms.
    • Combining the tile data into block data and further into map data
      takes approximately 12ms.
    Memory usage upon constructing everything: 50 MB (from which 5 MB is the actual map-related data); after loading a map: 52 MB.

    Side node: INI (configuration file) does not contain any limiter values (pokémon, items, etc.), so everything is dynamically read. Whatever is beeing read, a check will be performed and the user will be informed with a detailed description of what was wrong.

    The alpha will contain just reading all the data and will definitely be released within this week!
    ~ Pokedude
     

    Scarex

    Beautyfool.
    41
    Posts
    15
    Years
    • Seen Dec 22, 2020
    Wow, good work!

    I'm so ready to stop using A-map to start to use your tool, but first, I have a question:

    Will it be compatible with expanded hacks?
     
    64
    Posts
    10
    Years
    • Seen Mar 30, 2016
    Hello Scarex, I am glad you like my work so far. I can understand your enthusiasm concerning this editor, but I started to code it 1 week ago (I am actually quite fast in progress for this little amount of time) so it can not be used like A-Map for now. The alpha which I'll release this week will only contain "Loading maps and other related data" so the users can search for possible bugs for their custom hacks and tell me them. In short, nothing is editable in the first alpha. As soon as I implemented block- and map-editing (+ the undo/redo maybe), it'll be ready for the Beta and should be usable instead of A-Map. ^.^ Regarding your question: Everything is read dynamically, also the Pokémon and extended tilesets (as long as they are stored in the appropriate table that GF provided!)

    Just because it fits:
    Spoiler:

     

    LilBueno

    Boy Wonder
    243
    Posts
    10
    Years
  • I don't know much about hacking. I started learning the very basics and had to take time off from it to focus on other things, but I can see how useful this would be. You must be working hard to have had this kind of progress already! I'm very excited for default movement permissions, if that's implementable! Can't wait to see how this goes.
     
    204
    Posts
    9
    Years
    • Seen Jul 26, 2021
    I like the design of this editor! Very good work!

    for the block editor, can you make it possible to edit multiple blocks at once? In addition to being able to chose multiple tiles via rigth mouse click+drag (< thats an amap feature, will you implement it?), that way bigger tiles like houses can be inserted more fast.
     
    64
    Posts
    10
    Years
    • Seen Mar 30, 2016
    Guess what: I already had this idea too :-). Do you know of the tiled map editor by any chance? If you select a block and hold your left mouse button down as you move your mouse, the selection rectangle grows and a semi-transparent, blue selection covers multiple blocks. I'll also implement a "preview", that means that the block is shown semi-transparent as you move it on the map and try to place it somewhere!
     

    Mr.Mako

    Resident Edgelord Troll
    162
    Posts
    10
    Years
    • Seen Aug 10, 2023
    Rather impressive. Almost makes me wanna hack again given how easy it seems tile insertion would be considering my struggle with that before.
     
    204
    Posts
    9
    Years
    • Seen Jul 26, 2021
    Guess what: I already had this idea too :-). Do you know of the tiled map editor by any chance? If you select a block and hold your left mouse button down as you move your mouse, the selection rectangle grows and a semi-transparent, blue selection covers multiple blocks. I'll also implement a "preview", that means that the block is shown semi-transparent as you move it on the map and try to place it somewhere!

    Great. That will save time block editing
    I havent heard of that editor, but what you write sounds good.
     
    64
    Posts
    10
    Years
    • Seen Mar 30, 2016
    /!\ This is not advertisement! /!\
    Guess which hack was loaded into my map-editor :3. Yes, this is the latest progressing hack on Pokecommunity, Kanto Roads and loads just fine, but has one corrupted scripting-offset in a map-script-structure, probably caused by Advance-Map (look next heading).
    (Warning: big picture!)

    Spoiler:


    The bad news...
    What... bad news? Well yes, there is something that makes me rage, like really rage. The hack I loaded above is quite new, thus not having many errors. But I also tried loading the hack Pokémon Eclipse, which is known to be a quite advance hack. The result: Hundreds of corrupted pointers to connections, map-scripts and other data.

    Why does this happen?
    I investigated this issue and came to the following conclusion: Vanilla ROMs mark unused data as NULL-POINTER, which means that there are written four 00's instead of a valid pointer. Advance-Map now does the following: Instead of clearing pointers to unused data with 00's, it does not modify it, but rather clears the data AT the pointer with 0xFF, which makes my tool load 0xFFFFFFFF connections (!) and throw an error as consequence.

    Is there no way of fixing it?
    Fortunately, I will offer a secondary tool (outside of QMap) that searches for errors through the map-data and fixes the corrupted data by placing a NULL-POINTER instead. That requires some effort, though, and will probably be released a few weeks after the release of the first alpha. In the meanwhile, if you still want to test your hack: I implemented some sort of question-box which pops up after an error has been thrown; it asks you whether you want to continue loading maps. With that enhancement, Eclipse will of course load too:

    Spoiler:


    Sorry, this was quite a big post. :-)
     
    Last edited:
    794
    Posts
    10
    Years


  • Why does this happen?
    I investigated this issue and came to the following conclusion: Vanilla ROMs mark unused data as NULL-POINTER, which means that there are written four 00's instead of a valid pointer. Advance-Map now does the following: Instead of clearing pointers to unused data with 00's, it does not modify it, but rather clears the data AT the pointer with 0xFF, which makes my tool load 0xFFFFFFFF connections (!) and throw an error as consequence.

    LuHo, why would you do it that way ._.

    Still, I'm pretty hyped for this project, so hoping you'll soon release the first alpha.
     
    64
    Posts
    10
    Years
    • Seen Mar 30, 2016
    No, please no... no try&catch in my code. :'D
    I think you misunderstood quite a few things: The pointer is perfectly fine but the data located AT the pointer's offset is corrupted (a bunch of FF's) and that is clearly A-Ms fault, sorry. You can choose to continue map-loading anyways. I think the user has to be informed in case something went wrong and the editor should not be a silent angel like A-M.
     
    5,256
    Posts
    16
    Years
  • No, please no... no try&catch in my code. :'D
    I think you misunderstood quite a few things: The pointer is perfectly fine but the data located AT the pointer's offset is corrupted (a bunch of FF's) and that is clearly A-Ms fault, sorry. You can choose to continue map-loading anyways. I think the user has to be informed in case something went wrong and the editor should not be a silent angel like A-M.

    Oh, they way I'd understood it, you were planning on releasing an entirely separate map editor for ROMs that had that issue. That makes more sense.
     

    Deokishisu

    Mr. Magius
    990
    Posts
    18
    Years
  • No, please no... no try&catch in my code. :'D
    I think you misunderstood quite a few things: The pointer is perfectly fine but the data located AT the pointer's offset is corrupted (a bunch of FF's) and that is clearly A-Ms fault, sorry. You can choose to continue map-loading anyways. I think the user has to be informed in case something went wrong and the editor should not be a silent angel like A-M.

    That explains why removing connections sometimes results in a broken map. What the heck, A-Map?

    Anyway, excited for release. A stable map editor that benefits from our current knowledge is sorely needed. Good to see progress!
     
    64
    Posts
    10
    Years
    • Seen Mar 30, 2016
    Notification

    Due to missing implementations, real-life stress and other things concerning the GUI and the editor itself, I will not be able to release an alpha this week and maybe also not next week. I could release one but dislike this idea because I do not want to share unfinished and maybe buggy things. So please be patient a week or two. :-)
     
    Back
    Top