• 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: [RMXP] ROM Hacker XP

Status
Not open for further replies.
2,048
Posts
16
Years
    • Seen Sep 7, 2023
    ROM Hacker XP
    I'm going to make a logo for this eventually

    Firstly, the [RMXP] in the title is a bit of a joke :P In the Game Development forum, a game made in RPG Maker can use the [RMXP] tag; and this tool is technically an RPG Maker game, but with gameplay replaced by ROM hacking

    You probably know me from my game, Pokémon Amethyst, made in RPG Maker XP. However, recently, I've been helping with a ROM hacking project, whose goal is to bring ROM hacking closer to game development by removing the 386+25 Pokémon limit.
    One thing I found was that there were very few tools which allowed batch modification of a ROM; for example, if you want to decapitalise the names of every single Pokémon, you'd have to use A-Text or a Pokémon editor separately for each one. I got around this by writing an RGSS script to do it (basically automated hex editing); I'm going to add similar features to this tool later.
    A second thing I found out is that the only icon editing tool currently available, to put it bluntly, sucks. There's no way to import images, so you're stuck with recreating icons pixel-by-pixel. If you're adding loads of new, or even D/P, Pokémon, that's far too unnecessarily time-consuming. I spent some time figuring out how the icons are stored in the ROM, and eventually came up with a script allowing me to directly import icons. That's the first (and currently only) feature in this tool, since icons aren't particularly hard to edit.
    Thirdly, it's a hassle to download a bunch of tools, and wait for each one to start up, when you're just trying to do a simple thing (such as edit the Pokémon found on the first route so you can test a sprite you just inserted). Again, I found the offset for that, and made a script to quickly change it without having to open up A-Map, find the relevant map, go to the wild Pokémon tab, and change 12 occurences of that Pokémon...
    And finally, there are a few things in the ROM which I couldn't find any documents, let alone tools, on. For example, if you're inserting new Pokémon, you might have noticed that some Pokémon have their sprites positioned higher or lower in battle, and may even have a shadow. Thanks to thethethethe, I made a quick script to fix the positions of Pokémon; however, some of them were still floating in the air, or even underground. So I had to find the table which controls these, figure out its format, and then make some way of editing it (you can't automate this; how would the script know whether the sprite was supposed to be floating in the air?). I'm going to add this to my tool, too :)

    Features
    • General
      • Supports more than 386 (or 440) Pokémon
      • Compatible with hacks which have new Pokémon inserted
      • User can define custom offsets
    • Icon editor
      • Exports .png images
      • Imports .png and .bmp images, both indexed and non-indexed
      • Animated preview screen shows how the icon looks in-game
      • Automatically resizes images to the right size
      • Automatically assigns a palette to an imported image
      • User can reposition icons if needed
      • Can batch-import images
      • Compatible with Pokémon Essentials icon naming scheme and image format
    • Sprite position editor
      • Edits the position of player and enemy sprites
      • Can automatically position a sprite
      • Again, an animated preview screen shows how they look in-game
      • Loads images from the ROM, so compatible with new Pokémon
      • Can give front sprites a shadow
    • Pokémon sprite editor
      • Exports .png images
      • Imports .png and .bmp images, both indexed and non-indexed
      • Automatically resizes images to the correct size
      • Automatically assigns a palette to an imported image
      • Adjusts order of imported image palettes for good-looking back and shiny sprites
      • Can deal with shines and backsprites with more/less colours, like Magnemite
      • Automatically aborts if the new image doesn't fit in the free space or over the old image
      • Automatically changes the sprite pointer in the pointer table

    Screenshots
    Spoiler:


    Instructions
    Place your ROM in the ROMs folder, and start RHXP.exe. Select the ROM you want to edit from the list, and then select the correct .ini file for the ROM version. Choose the feature you want to use. Press Escape to go back to this screen from one of the editors.
    Icon Editor
    Use the left and right arrow keys, or the arrows at the top of the screen, to select an icon.
    Alternatively, click the Pokémon's name at the top, type its name or number, and press Enter.
    • Write to ROM - writes the current icon to the ROM
    • Write all to ROM - loads and writes all correctly named icons in the Icons folder to the ROM
    • Import - loads an icon from the Icons folder, named either icon.* or icon###.*, where ### is the internal number of the selected Pokémon
    • Export - saves the current icon to Icons/icon###.png, where ### is the internal number of the selected Pokémon
    • Arrows around the sprite - shift the sprite one pixel in the corresponding direction
    Sprite Position Editor
    Use the left and right arrow keys, or the arrows at the top of the screen, to select a Pokémon.
    Alternatively, click the Pokémon's name at the top, type its name or number, and press Enter.
    To give/remove a Pokémon's shadow, simply increase or decrease the altitude until the shadow appears/disappears. It will appear the same way in-game.
    Press Space to switch between normal/shiny sprites.
    • Write to ROM - writes the sprite position to the ROM
    • Auto - automatically positions sprite for best results (usually)
    • Altitude - controls how high the sprite appears above the ground. Please use the auto-position feature before adjusting this
    • Arrows - control the vertical position of the sprite
    Sprite Editor
    Use the left and right arrow keys, or the arrows at the top of the screen, to select a Pokémon.
    Alternatively, click the Pokémon's name at the top, type its name or number, and press Enter.
    This editor uses the same image naming scheme as Pokémon Essentials. The sprites should be named ###?.png (or .bmp), where ### is the Pokémon's internal number, and ? is an ending from these: '' (no ending): normal front sprite; 's': shiny front sprite; 'b': back sprite; 'sb': shiny back sprite. For example, Bulbasaur's sprites would be named 001.png, 001s.png, 001b.png, and 001sb.png.
    • Write to ROM - writes the sprite to the ROM, at a specified offset. Hexadecimal offsets should be preceded with '0x'. Compressing the image takes a few seconds, so be patient
    • Import - loads sprites from the Pokemon folder, using the naming scheme above. Make sure all four sprites are present for best results
    • Export - saves all four sprites to the Pokemon folder, using the naming scheme above

    Planned features
    • Make some actual graphics for the editor
    • Ability to convert from National Dex numbering to internal numbering (for example, Chimecho is #358 in the National Dex, but #411 internally)
    • Allow icons to be modified in the editor
    • Auto-convert icons with incorrect palettes
    • Actually make a file selection dialog; currently, you have to name any files correctly, and put them in a certain folder

    Known bugs
    • You have to close the editor before changes take effect; I'll fix this for the next release
    • The Egg and Unown forms have odd names; that's not a bug, since they don't have entries in the name table
    • Might not work with some operating systems; try running in compatiblity mode for Windows XP, or use a Windows XP emulator or virtual machine
    • DO NOT edit the positioning of the Egg and Unown sprites (other than Unown A)
    • Don't try importing battle sprites for Castform and Deoxys; I haven't sorted out the multi-form Pokémon yet

    Download (version 1.04 (24 July 2009); .zip)
    2shared
    FileFront
     
    Last edited:

    NarutoActor

    The rocks cry out to me
    1,974
    Posts
    15
    Years
  • Wow Nice program I have been looking for a program like this

    dosent work with windows vista message RGSS-RTP Slandered not found
     
    Last edited:

    onyx79

    Red Dead Revolver
    488
    Posts
    15
    Years
  • it doesn't work....
    I put my fire red hack on the roms folder,then I've opened rhxp and then it showed this messge " RGSS-RTP Standart not found "
    what to do?
     
    2,048
    Posts
    16
    Years
    • Seen Sep 7, 2023
    Huh? I'm sure I turned RTP dependency off... Maybe I accidentally reverted it.

    Anyway, the fix is simple; just open up the RHXP.ini file, and delete the word 'Standard' from the line 'RTP1=Standard'.

    I'll make sure to fix it in the next version.
     

    Novus

    The English Kiwi
    183
    Posts
    15
    Years
  • It seems to work fine for me but is it only for certain region roms Wichu? I put an Emerald rom and a FireRed rom in the Roms folder, each being a different region and only Emerald registered when I opened RHXP.

    -Novus-
     
    2,048
    Posts
    16
    Years
    • Seen Sep 7, 2023
    Someone else has had the problem of their ROM not registering. It's nothing to do with region, as it only checks whether the file has the .gba extension...

    If it's only a certain one, try simplifying its filename; for example, change it to FireRed.gba. I'm going to look into this.
     
    2,048
    Posts
    16
    Years
    • Seen Sep 7, 2023
    Okay, this is getting strange... FireRed ROMs work fine for me, but not for some people... Tomorrow, I'll have a look, and see what I can do.
     

    Logan

    [img]http://pldh.net/media/pokecons_action/403.gif
    10,417
    Posts
    15
    Years
  • A Emerald ROM loads for me, of course it has no INI but still it seems to be a problem with FR.
     

    Logan

    [img]http://pldh.net/media/pokecons_action/403.gif
    10,417
    Posts
    15
    Years
  • Yes and FR is the only with an INI. So we shall wait for Wichu to make INI's for the other ROM's and to fix FR.
     

    destinedjagold

    You can contact me in PC's discord server...
    8,593
    Posts
    16
    Years
    • Seen Dec 23, 2023
    There's no way to import images, so you're stuck with recreating icons pixel-by-pixel. If you're adding loads of new, or even D/P, Pokémon, that's far too unnecessarily time-consuming.

    You have no idea how boring it was when I was still hacking RoL... :laugh:

    Anyways, a great tool you have, and I am excited for the PKMN has shadow or not feature. ;)
     
    219
    Posts
    16
    Years
  • Thanks for this tool though it's very basic now.
    For Icon Editor,I suggest that there will be a "goto" function,so that we won't have to explorer every Pokemon.
    By the way ,could I translate it into Chinese?
    Anyway, good tool.
     

    onyx79

    Red Dead Revolver
    488
    Posts
    15
    Years
  • I put firered\emerald and it says there's no ini -____-
    ohhh well it only edits icons anyway so I'll wait until the real feature that gives you all of the 493 pokemon's comes!
     

    874521

    School days again...
    489
    Posts
    15
    Years
  • How can I insert icon pictures? When I insert one, the result is that the icon is invisible, help?
     
    2,048
    Posts
    16
    Years
    • Seen Sep 7, 2023
    Is the icon a .png or .bmp?

    I'm working on fixing a few bugs etc right now (including the 'invisible ROM' bug).
     
    Status
    Not open for further replies.
    Back
    Top