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

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

Status
Not open for further replies.

lmdst

Blast From the Past
13
Posts
15
Years
  • Age 33
  • Seen Feb 26, 2014
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.
 

thechurchofcage

a.k.a. The Cancer Fairy
124
Posts
15
Years
  • Age 54
  • Seen Jul 24, 2023
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
 

metapod23

Hardened Trainer
673
Posts
15
Years
  • Seen Aug 18, 2016
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. :)
 
3
Posts
14
Years
  • Seen Apr 27, 2010
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!
 

lmdst

Blast From the Past
13
Posts
15
Years
  • Age 33
  • Seen Feb 26, 2014
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:
32
Posts
14
Years
  • Age 38
  • Seen Dec 16, 2010
Does anyone know a way to remove the scene with Oak's Parcel in the Viridian City Pokemart?
 
1,323
Posts
16
Years
  • Seen Dec 9, 2023
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?
 
1
Posts
14
Years
  • Seen Nov 20, 2010
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=
 

0m3GA ARS3NAL

Im comin' home...
1,816
Posts
16
Years
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.
 
14
Posts
16
Years
  • Seen Jul 11, 2010
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.
 

ListenT

Black kitteh
9
Posts
14
Years
  • Seen Jul 11, 2012
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:

Ninja Caterpie

AAAAAAAAAAAAA
5,979
Posts
16
Years
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