• 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.

[ARCHIVE] Simple Questions (SEARCH BEFORE ASKING A QUESTION)

Status
Not open for further replies.
Well, figures my first post here would be a question.

All right, so I've searched this place upside down to find out a means of changing whether a type is physical/special. Oh, I know what you're thinking - not this again! - but don't worry, I'm not going to ask about it. I gave up trying to find an answer for that one.

In my project, we've agreed that Ghost and Dark make more sense being the opposite of each other (in other words, Dark would be made from Special to Physical, and Ghost would be made from Physical to Special). Since I couldn't do it the easy way, I went with the hard way - switch around everything about the types.

It worked out, except for the name of the type during a battle when picking a move. (Because it's the only part of the game that doesn't use the icons) I figured - okay, let's just use Advance Text and change those around!

Weeell... I found the offsets and all, but. While the original text for ghost has like 8 characters I can use (It has some blank spaces for some reason), Dark only has four (no blank space). I figured this wouldn't be a problem since A-Text can repoint, but well. Once this is done, no text shows up during a battle when I have a Ghost(formerly Dark) move selected. (It just says "Type/______")

Any idea what might be causing this, or how it can be averted? I figure the best thing to do would be switch the pointers around instead of replacing the actual text, but I have no idea how to work with pointers in the first place (I can figure out my way with a hex editor but repointing is something I couldn't find a guide on). For reference, the rom I'm working on is US FireRed Version, the Ghost text is at 24F1CE and the Dark text is at 24F217. Thanks.
 
Does anyone know where the offsets start for footprint image data on Emerald? I know I've asked a question about footprints before, but I was hoping I could try a different method.
Thanks
 
Well, figures my first post here would be a question.

All right, so I've searched this place upside down to find out a means of changing whether a type is physical/special. Oh, I know what you're thinking - not this again! - but don't worry, I'm not going to ask about it. I gave up trying to find an answer for that one.

In my project, we've agreed that Ghost and Dark make more sense being the opposite of each other (in other words, Dark would be made from Special to Physical, and Ghost would be made from Physical to Special). Since I couldn't do it the easy way, I went with the hard way - switch around everything about the types.

It worked out, except for the name of the type during a battle when picking a move. (Because it's the only part of the game that doesn't use the icons) I figured - okay, let's just use Advance Text and change those around!

Weeell... I found the offsets and all, but. While the original text for ghost has like 8 characters I can use (It has some blank spaces for some reason), Dark only has four (no blank space). I figured this wouldn't be a problem since A-Text can repoint, but well. Once this is done, no text shows up during a battle when I have a Ghost(formerly Dark) move selected. (It just says "Type/______")

Any idea what might be causing this, or how it can be averted? I figure the best thing to do would be switch the pointers around instead of replacing the actual text, but I have no idea how to work with pointers in the first place (I can figure out my way with a hex editor but repointing is something I couldn't find a guide on). For reference, the rom I'm working on is US FireRed Version, the Ghost text is at 24F1CE and the Dark text is at 24F217. Thanks.

My guess is that maybe it's a text that can't be repointed? Because I'm guessing A-Text repoints dialogues, so that it adds that dialogue to some free space, then changes the enclosed dialogue script, like:

msgbox 0x111111 msg_face

the 0x111111 would be repointed to say 0x800000 and then I guess A-Text change the above script to "msgbox 0x800000 msg_face". But presumably the type descriptions you're talking about don't work the same way. They might not even have pointers, really. I don't know.

If I were you, I'd do a little more research. Use A-Text to find the offset for the Dark-type text in the game. Then open a Hex-Editor and go to that offset. Also, try viewing that offset in XSE's Hex Viewer and see where it's located and what's around it. In your hex editor, try reversing the offset (like, if it was offset 0x24F217, make it 17 F2 24 08) and doing a search for it to see if there are any pointers to it, and if it looks like there are, try manually changing them in the hex editor to the pointer to your own text.

That's how I would start trying to solve the problem anyway. :)
 
I have a question that most of you will probably laugh at me for. XD
I am very, very new to ROM hacking. The most I've been able to do is make some fakemon (that I am very proud of), change the title screen, change names, change the map. Nothing beyond that.
AdvanceText or whatever it's called crashes on me, and Thingy-32 or whatever does the same. How do I edit text without one of these programs? Could anyone direct me to a tool that would work better for my computer (Windows Vista by the way)?
Thanks!
 
If I were you, I'd do a little more research. Use A-Text to find the offset for the Dark-type text in the game. Then open a Hex-Editor and go to that offset. Also, try viewing that offset in XSE's Hex Viewer and see where it's located and what's around it. In your hex editor, try reversing the offset (like, if it was offset 0x24F217, make it 17 F2 24 08) and doing a search for it to see if there are any pointers to it, and if it looks like there are, try manually changing them in the hex editor to the pointer to your own text.
Ah, all right, that makes sense. I don't suppose anyone got around to changing type names and would know specifics, though?


But, then again, I just realized a big flaw in my plan. The move Curse now has its special effects to Dark-type pokémon as opposed to Ghost-type ones. This.... is an issue. I don't suppose there'd be a byte somewhere that determines the type this move affects?


EDIT: All right, I got it. These are my findings:

- Looking at the offsets for the GHOST and DARK text in a hex editor I found out it was just as I expected: the type names are all close together, separated by an FF, in their in-game order (Where Normal is the first, Fighting is the second, etc., and Dark is last). Some types have 00s in front of their names for some reason. So, assuming the FF is what tells the game to end the string and start with the next type's (shot in the dark here), I went and removed one of the 00s in the GHOST string, pulling everything back, and adding an extra character to the DARK string. (for this test, I simply repeated the last K)

- Testing it in the emulator and... just as I expected. The text for ghost now reads "HOST", and the text for dark reads "ARKK". This means the game calls upon the address of the first character through a different means, and the extra 00s between the names must be a result of changing character lengths around when translating the game from japanese to english. Thankfully for me, there are a couple 00s after the "DARK" text as well. I am not sure what their purpose is, as the data after that is for something else, but I'll take a shot in the dark and assume that at least one of those 00s has the same purpose as the 00s in the other type names, and can be successfully overwritten.

- I replace the FF after the DARK string with a text character, and the first 00 after it with an FF. The result? A resounding success! Aside from the unfortunate problem with Curse, Ghost and Dark have been fully switched around! Thanks, Metapod23, for opening my eyes.

For reference, the data begins at 0x24F1A0 with the string "NORMAL".


AdvanceText or whatever it's called crashes on me, and Thingy-32 or whatever does the same. How do I edit text without one of these programs? Could anyone direct me to a tool that would work better for my computer (Windows Vista by the way)?
Thanks!
What do you mean it crashes on you? Does the program just won't open because it lacks a specific file (an .ocx or a .dll)? That could happen because it uses some kind of runtime library. All you need to do is obtain that file and put it either in the program's folder or in Windows\system32. I am not sure what the rules about that sort of thing here are, though, but it shouldn't be too hard for you to obtain the file you need.

I think I remember specifically using AdvanceText on Vista, so I don't think it's an OS issue.
 
Last edited:
Does anyone know a way to remove the scene with Oak's Parcel in the Viridian City Pokemart?
 
Delete the level script under header
 
I'd like to edit specials. I know it requires ASM, and that the specials are located in a table somewhere. Can somebody tell me where the table is in Ruby version? And how to find the offset of where a special command is located?
 
Probably a stupid question but I can't seem to find the answer to this anywhere.

Is there a way to export, edit and import the animations of say, a door opening or moving flowers or walking through grass? I've been playing about in AM and can't seem to find any way to do it so I'm presuming I need a different program or I'm just doing something wrong D=
 
Probably a stupid question but I can't seem to find the answer to this anywhere.

Is there a way to export, edit and import the animations of say, a door opening or moving flowers or walking through grass? I've been playing about in AM and can't seem to find any way to do it so I'm presuming I need a different program or I'm just doing something wrong D=

Look for thethethethe's Grass Animation Hacking Tutorial, it's a scarce document, but it SHOULD be findable on this website, in the Documents and Tutorials Section.
 
Alrighty. I did something to my unlz gba torchic. Now the pallette is messed up. It's showing me the shiny pallette. I went down one to what usually for back sprites is the normal pallette, but it's showing me the same pallette. I went down one more and it switched to sceptile's shiny pallette. I tried to go back in and resend the sprite in regular form and it was still like that. I tried again and checked the 'export pallette' box. But that only made it worse, it made the front sprite change but after undoing that I'm still at a loss. When I play the game the back sprite is shiny even if the front is normal! Please help me.
 
I need help, I got day and night working but don't know how to edit the wild pokemon from day to night.
 
Hello.
How do I edit the town map in Ruby using Advance Map?

You don't edit it in advanced map. Look in the tutorials section and you'll find something there.
 
Anyone know's how to make other region pokemon evolve without the national dex in Pokemon Fire Red ? Like that other region pokemon would evolve at the very begining of the game? Someone?
 
Last edited:
Anyone know's how to make other region pokemon evolve without the national dex in Pokemon Fire Red ? Like that other region pokemon would evolve at the very begining of the game? Someone?

That would cause an error (or rather, the game to just crash).
 
Anyone know's how to make other region pokemon evolve without the national dex in Pokemon Fire Red ? Like that other region pokemon would evolve at the very begining of the game? Someone?

Only if you mess with the game engine can that even remotely be possible. I still doubt it, though.

Alright, I need a bit of help myself. I tried to make this loop with minimal success. Every track has exactly 12 full measures and 6' and I loop after one measure, but it still is out of sync, somehow. Can anyone check it to see if I missed anything? D=
 
Status
Not open for further replies.
Back
Top