• 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 Trading Card Game 2 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.

Help Thread: Quick Questions & Answers

Status
Not open for further replies.
So, I've been working on my own Fire Red hack (my first hack). It's nothing special really, I don't understand anything about hex editors and stuff, I'm just using the standard tools like A-map and YAPE. I've edited a lot of moves and things are looking really good. But when I started testing the moves I noticed a little problem. I edited Razor Wind and Skull Bash and removed the 2-turn effect. For example Skull Bash is now just a Rock-type Double Edge. However those moves still use the animation of the first turn of the original move where the Pokémon would get ready to attack when in this case the Pokémon already attacks on this first turn. This looks a little silly of course. So I wanted to know if there is a simple way to repoint the animation of these moves to the second turn animation with a tool like PGE?
 
Where do I find the download links to get Advanced Map, YAPE, etc., and the necessary tools to make my first ROM hack? Thanks.
 
So I somehow broke a warp event that I never touched, and it is the same as a base version of LG/FR. I checked both warps for both areas, they are unchanged, but they still don't work. Anyone have any idea what could be wrong?
 
So I somehow broke a warp event that I never touched, and it is the same as a base version of LG/FR. I checked both warps for both areas, they are unchanged, but they still don't work. Anyone have any idea what could be wrong?
Make sure the block behavior is the same as the original game.
 
Make sure the block behavior is the same as the original game.
Everything that I am looking at is exactly the same. Movement Permissions, the Warp Event, and the tile. I even checked the warp it's linked to, and that is also the same.
 
Does anyone have the offsets of the in-battle message box's image and palette for Fire Red?


edit: Google helped...
 
Last edited:
Thank you, but I don't see Advanced Map in here... also any suggestions on what Editors I should Install for a beginner? And finally where do I get the ROMs to begin editing xD
Sorry I'm so needed... :(
It's against the rules to post links to ROMs here, you'll have to google for them I'm afraid. It shouldn't be too difficult though. :)
 
Everything that I am looking at is exactly the same. Movement Permissions, the Warp Event, and the tile. I even checked the warp it's linked to, and that is also the same.
I don't know if it matters in this case, but it matters in the future, so I'll point out that what I was referring to wasn't anything you listed. Behaviors and backgrounds are specific to blocks, like how the grass knows to create wild Pokemon. You can look at them in the block editor tab of A-Map (puzzle piece I think). Perhaps, even if you didn't move a warp, the block it is on no longer has the appropriate warp behavior. Sometimes it looks like the tiles are the same, but they actually have different behavior. This happens in places like the entrance of caves.
 
Last edited:
I'm using Advance Map 1.92, maps are looking good so far, but there's just one problem: only certain in-game pokemon sprites are present.

I'm at least 99% sure that I'll have to find and insert them myself (ew). If so, how? Like, do I need a separate program? Should the sprites be standard PNG images?

enlighten me pl0x
 
FreeSpaceFinderv2.0.1.0 crashes the moment I open it, and running as administrator and using compatibility mode don't work either. I'm using a Windows 7 64-bit OS, and I can run every other tool (AdvanceMap, XSE, Lunar IPS, Hopeless Trainer Editor, etc.) just fine. Does anyone know what the problem could be and how to fix it? If not, will I be missing out on anything if I use v1.0.2? That one I can run for some reason.
 
I'm using Advance Map 1.92, maps are looking good so far, but there's just one problem: only certain in-game pokemon sprites are present.

I'm at least 99% sure that I'll have to find and insert them myself (ew). If so, how? Like, do I need a separate program? Should the sprites be standard PNG images?

enlighten me pl0x
There's a couple of tools that can insert OW sprites, I use NSE myself, you can find them in the Tools, Tutorials and Resources section. The images will need to be indexed and in whatever format the tool you're using uses (probably bitmap)
 
Alright so after some research it turns out that XSE automatically finds free space if I start the script with #dynamic 0x800000, so it seems like I don't have to worry about the latest version of FSF crashing.

Two more questions: is there enough free space by default in FireRed that I shouldn't worry about deleting existing scripts? I'm aware of #removeall 0xOFFSET and similar options but I'm not sure if it's common practice to use them.

The other thing I want to clarify is: say I use @start and @1 in one script, to change an NPC's message. Can I reuse those pointer names later for a different script?
 
Alright so after some research it turns out that XSE automatically finds free space if I start the script with #dynamic 0x800000, so it seems like I don't have to worry about the latest version of FSF crashing.

Two more questions: is there enough free space by default in FireRed that I shouldn't worry about deleting existing scripts? I'm aware of #removeall 0xOFFSET and similar options but I'm not sure if it's common practice to use them.

The other thing I want to clarify is: say I use @start and @1 in one script, to change an NPC's message. Can I reuse those pointer names later for a different script?

It's very unlikely you'll run out of space, and you can always expand the ROM to get another 16MB of free space (that's 0xFFFFFF bytes).

Provided the labels are not in the same script, yes, the compiler does not care what they are in different scripts and once the script is compiled the labels are forgotten, and instead the offsets of the scripts in the ROM is used by XSE. If you enable refactoring, then XSE will just use preset labels (@start, @snippet1, @snippet2, @string1, @move1, @mart1, etc.).
 
Alright so after some research it turns out that XSE automatically finds free space if I start the script with #dynamic 0x800000, so it seems like I don't have to worry about the latest version of FSF crashing.

Two more questions: is there enough free space by default in FireRed that I shouldn't worry about deleting existing scripts? I'm aware of #removeall 0xOFFSET and similar options but I'm not sure if it's common practice to use them.

The other thing I want to clarify is: say I use @start and @1 in one script, to change an NPC's message. Can I reuse those pointer names later for a different script?
FireRed has more than enough freespace, even for a more complex hack. If you go to around 0x720000, you'll see that the area is absolutely free (there's freespace from ~0x720000 all the up to 0xD00000, where's there's graphics data, more specifically the battle text box. The area after 0xF00000 is free too). That makes for about 5 MB of freespace you can use however you want. You should use #removeall if you mess up a big script, note that it deletes everything referenced in it (subscripts, messages, mart data, movement data, braille data).
As for the pointer names, they are just for the compiler. When you compile the script, they're changed to an offset with enough free space to fit whatever is after it, starting the search at the dynamic offset (with #dynamic 0x800000, XSE will put the script at any free location after 0x800000). They are lost after compilation (just decompile a script, you'll see, turn off refactoring though). Ergo, you can use the same names however many times you want, obviously as long as the same name doesn't appear twice in the same script (e.g. you can't have two #org @starts in a single script).
As Sperical Ice said, you can expand your ROM to 32 MB (XSE can do it; look around the menus). That gives you an extra 16 MB to store data in. Don't do it unless you run out of space though, as the most popular IPS patch format doesn't work with ROMs over 16 MB (you're going to have to use alternatives such as BPS, though that's better than IPS imo; check out Floating IPS, that supports BPS as well as IPS). The reason for that incompatibility is that IPS stores the offsets to change as three bytes, so it can't reference locations over 0xFFFFFF (which happens to be the very end of the 16th MB).
 
Thank you both. I'm finally starting to get the hang of writing/compiling simple scripts now that I've become less paranoid of messing something up.
 
Is there any way that in FireRed I can replace any instance of one word with another all in one go? For example, let's say I wanted to rename Team Rocket to something else. Instead of going through each script and hunting down every instance of the phrase Team Rocket, is there a program that can change them all at once?
 
Is there any way that in FireRed I can replace any instance of one word with another all in one go? For example, let's say I wanted to rename Team Rocket to something else. Instead of going through each script and hunting down every instance of the phrase Team Rocket, is there a program that can change them all at once?

Yup, that program is called a hex editor.
 
Status
Not open for further replies.
Back
Top