• 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: HexManiacAdvance: A New Hex Editor for Gen 3 Hacking

haven1433

Modder / Programmer
42
Posts
10
Years
    • Seen Jan 16, 2024
    What error message appears? You say the program does not open, but you say you're trying to open a rom, which makes me think the program opens but is unable to load a file. Can you add more details so that we can better help you debug the issue?
     
    1
    Posts
    3
    Years
    • Seen Dec 12, 2021
    Is there any way to edit the moves that come with traded pokemon?
    For example, in Pokemon Fire Red you meet a guy who wants to trade his Mr. Mime for an Abra.
    The Mr. Mime stats and held item and so on are editable, but how can I change its moves?

    I'd also second the earlier request to add menu way to edit starters (along with setting moves, if possible).
     
    Last edited:

    Li Yun

    "Does the truth exist or is it all a lie and the w
    204
    Posts
    3
    Years
  • What error message appears? You say the program does not open, but you say you're trying to open a rom, which makes me think the program opens but is unable to load a file. Can you add more details so that we can better help you debug the issue?

    The program opens, even I can select a rom, be it Fire Red or Emerald v1.0 USA. The program crashes while loading the data from the rom.
     

    haven1433

    Modder / Programmer
    42
    Posts
    10
    Years
    • Seen Jan 16, 2024
    Does it create a crash.log file? Or does the program just close itself with no trace?
    I know the program is capable of opening FireRed 1.0 and Emerald 1.0, so there must be something strange going on that we haven't identified.
    * Try deleting any FireRed.toml or Emerald.toml files that are next to your roms.
    * Make sure your HexManiacAdvance.exe can find the related files that it needs, such as HexManiacAdvance.exe.config and the resources folder.
    * Consider joining the HMA discord, where we can have a dialog about the issue. I tend to see posts on there much faster than I see them here. You can find the discord server link within the app: Help -> Discord.
     
    853
    Posts
    3
    Years
    • Seen Nov 9, 2023
    Man this thing looks amazing, looks it has just about everything I need for a hack, if this thing can add and change type effectiveness too I might just lonely island. lol

    I downloaded it while searching stuff and didn't realize how great this thing was!

    Yes I'm sorry for the horrible reference.
     
    392
    Posts
    3
    Years
    • Seen Nov 24, 2023
    Man this thing looks amazing, looks it has just about everything I need for a hack, if this thing can add and change type effectiveness too I might just lonely island. lol

    I downloaded it while searching stuff and didn't realize how great this thing was!

    Yes I'm sorry for the horrible reference.

    For the effectiveness, 24F050 for FR or data.pokemon.type.chart
     

    haven1433

    Modder / Programmer
    42
    Posts
    10
    Years
    • Seen Jan 16, 2024
    O.O it can change any table value, wow ok. thank-you

    is that last part the source code reference?

    No, it's the table name. You can put the table name into the goto tool to jump directly to the table, or you can put in just part of the name and the options below will filter down. For example, if you type "type chart", it should become easy to find the data you're looking for.
     

    haven1433

    Modder / Programmer
    42
    Posts
    10
    Years
    • Seen Jan 16, 2024
    Hey how do I edit shiny odds for emerald? I'm new to this hex editing stuff.

    Edit -> Goto -> shiny odds

    That should filter the options and help you find the locations where the constant is used. When you change 1 of the values, the rest will update automatically to match.
     
    853
    Posts
    3
    Years
    • Seen Nov 9, 2023
    No, it's the table name. You can put the table name into the goto tool to jump directly to the table, or you can put in just part of the name and the options below will filter down. For example, if you type "type chart", it should become easy to find the data you're looking for.

    Very nice, I found what I was looking for and I think this tool just rocketed me ahead on working on my hack. So many thanks for your work.

    A couple more questions, after I got into it and was moving around I couldn't figure out how to get back to the go to tool, and was moving around via searches. (also love that its powerful enough to keep multiple tabs in rotation and and the ease of ordering and moving though them. Love it)
    Saw the above comment. got it now.

    Second when I'm on the table view, I can select my prefix, data.pokemon for example in the first drop down, and the second has a list of locations that go with it. But searching around I've noticed there are more tables that go with it that aren't listed in the drop down.

    Why is that, and if I edit the "table reference" document and try to add the name and I guess its an offset, and save, would that add it to the drop down?


    Ok this last question may be unrelated so I understand if you don't answer it, but what's the difference between an address and an offset, when I try to put the table address into xse, either it won't fit the whole thing, or it goes to something that has nothing to do with what I see in the table?

    Thanks in advance.




    oh and I don't have discord, but here's possible point of interest for an issue I had, don't know if its enough to actually call it a bug though, more an interaction to note.

    I was adding a new type with TEE version 3 and when I looked at the table it repointed in, hex it looked wonky and my relationships were off.
    But after opening the same rom a second time, and going to the table everything was right. I went back a tab and compared and I definitely had loaded the same rom from the right place. I couldn't figure why that happened.

    The Full details are here.
     
    Last edited:

    haven1433

    Modder / Programmer
    42
    Posts
    10
    Years
    • Seen Jan 16, 2024
    That was a lot, but I'll try to answer what I can.

    I can select my prefix, data.pokemon for example in the first drop down, and the second has a list of locations that go with it. But searching around I've noticed there are more tables that go with it that aren't listed in the drop down.
    There are a LOT of tables. To help reduce the load, the table tool drop-down only shows one table for each set of related tables. For example, the pokemon names, pokemon stats, and pokemon sprites are all stored in separate tables, but they're 'linked' in the editor. This means that opening the table tool for one will actually show you all of the related tables. This is useful because you can see Bulbasaur's stats, sprites, footprint, and more all in a single view. Since all these tables are shown at once, the table tool's drop down only shows you one of the tables, since the others would be redundant.

    Why is that, and if I edit the "table reference" document and try to add the name and I guess its an offset, and save, would that add it to the drop down?
    I recommend you watch the first video tutorial (Help -> Tutorials), which explains that the first time you load a GBA file with HexManiacAdvance, it creates a .toml file that is matched to your rom. The .toml file follows things that happen as you use HexManiacAdvance, like moving tables, expanding them, adding new anchors, etc. The only thing that the table reference file does is assist in the initial generation of the .toml file. Also, the table reference file doesn't include offsets for tables: it contains offsets for pointers to the tables. This makes the table reference file able to often find some data even in roms where data has been moved around, like when a game has additional pokemon or moves.

    If you want to add a name to the rom, all you have to do is goto the address where the table is, and then type ^name (followed by a space) to add an anchor with that name to your rom. It'll be saved in the .toml file, and will be accessible with the goto function.

    what's the difference between an address and an offset
    They're synonymous. The only weird thing here is that pointers are written with 0x08000000 added to them, since the rom is accessed at address 0x08000000 internally in the GBA hardware. So is someone says to 'goto offset 123456', that's the same thing as 'goto address 123456', and you can just use Edit -> Goto -> 123456 either way.

    I try to put the table address into xse
    XSE doesn't view tables, it views event scripts. If you try to get it to load a table, it'll try and decode that table as an event script, which you almost certainly do not want.

    I don't have discord
    Maybe you should get one ;) it's free, and the dialog that's possible there tends to work much better than long form messages that contain multiple questions :D plus, there are other knowledgeable rom hackers there who may be able to answer your questions as well. For a link to the HexManiacAdvance discord, choose Help -> Discord within the app.

    it looked wonky and my relationships were off
    This sounds like a TOML issue. If you had data in your .toml and then you moved the data with some other tool, but didn't update your .toml with the new address for the table, it would still think the table was at the old location and would end up parsing the wrong data. HexManiacAdvance is not aware of what changes you make with other tools, so you can use the .toml file to communicate those changes to the tool.
     
    853
    Posts
    3
    Years
    • Seen Nov 9, 2023
    That was a lot, but I'll try to answer what I can.

    well that helped me greatly thanks, and I'd get a discord but I just don't like using a lot of apps, if I can access it from a website maybe I'll give it a try, but I'll look into that myself.

    But what through me off with the addresses is xse only has space for 6 places, but then I'd see things with 8 values and couldn't navigate to them.


    From what you said about the issue with my added type. I put that in before I created the toml. But I think you're right about the issue, I guess it found the new location of the type table on first open, but couldn't initially parse what to make of the new type data, but it worked fine after I opened it again.

    So no problems there now.

    Now my question is just how I'm editing stats, I changed a base stat but it didn't affect the pokemon I had, does it not affect those already caught, or did I do it wrong?

    edit:
    I'm thinking its only those caught, I caught a new one and it had near double the stats at the same level.
    Not how I expected it to work, but it'll still work as intended for a patch so that's fine.

    Oh nevermind it changed both of them, ok I think I know what happened now it was all my fault, I got my roms mixed up and the pokemon wasn't catchable on that (backup of my) rom, but it existed in my save data, after I changed that, both the ones caught and the one I already had updated perfectly.
     
    Last edited:
    853
    Posts
    3
    Years
    • Seen Nov 9, 2023
    Just successfully added a new type, and the graphic for the icon with hex maniac, not the most polished look but it works, and its all functional, only took me like 2 hours too, including time finding the right table and mock ups.

    Screenshot (385).png
    Love this program.
     

    haven1433

    Modder / Programmer
    42
    Posts
    10
    Years
    • Seen Jan 16, 2024
    It cannot, but if they live in a table, you can send me some resources about them and I'll get them added for the next version.
     
    23
    Posts
    3
    Years
    • Seen Jan 20, 2024
    Just successfully added a new type, and the graphic for the icon with hex maniac, not the most polished look but it works, and its all functional, only took me like 2 hours too, including time finding the right table and mock ups.

    I added a new type to my rom as well, so the type chart table was repointed. If I wanted to edit the ini for PGE with the new type chart offset, what would the offset be called? I don't see any tables listed in the ini mentioning types.
     
    392
    Posts
    3
    Years
    • Seen Nov 24, 2023
    In PGE, I don't think you need to type the offset in the ini. Create a new line in txt/PGETypeList

    Spoiler:
     
    69
    Posts
    8
    Years
    • Seen Apr 8, 2024
    How do you expand or change the Kanto Pokedex order, I tried regional dex but that only reflects off of trading to emerald (I think). And I tried to update conversion dex, but it wouldn't function and remain blacked out
     

    Penny55gg

    Idiot
    22
    Posts
    4
    Years
    • Seen May 1, 2024
    Hey, I saw that I can edit movesets through text in FRLG, but in Emerald I couldn't do it, am doing something wrong?
     
    Back
    Top