• 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?".
  • Forum moderator applications are now open! Click here for details.
  • 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.
73
Posts
14
Years
  • Seen Aug 31, 2014
Your "very similar repeating pattern" is a pointer table. When hex editing, you'll eventually notice that numbers are stored in reverse byte order. So, a pointer to the location 8 46 3E 60 would look like 60 3E 46 08. Remember, that the info in the rom is under the label of 08. Ram offsets would be in the in other labels such as 02 and 03.

I don't know much about natures but, their info will be stored in a table like the one you've experienced, where each pointer will point to the stats that are affected.

Ohhh, I see. I wasn't aware of them. So this table seems to be completely unrelated, then. Any idea what I should look for, them? Like, the hex numbers of the stats?
 

Blah

Free supporter
1,924
Posts
11
Years
Your "very similar repeating pattern" is a pointer table. When hex editing, you'll eventually notice that numbers are stored in reverse byte order. So, a pointer to the location 8 46 3E 60 would look like 60 3E 46 08. Remember, that the info in the rom is under the label of 08. Ram offsets would be in the in other labels such as 02 and 03.

I don't know much about natures but, their info will be stored in a table like the one you've experienced, where each pointer will point to the stats that are affected.

In this post, what are the differences between "labels" and pointers? I assume you mean variable names when you say labels?

As for the question:
bulbapedia.bulbagarden.net/wiki/Pokemon_data_structure_in_Generation_III#Personality_value
To successfully edit would require ASM I'd think (though maybe there is a way to do it in hex).
If you scroll down, you'd find that the offset is at 0x02024284 in FireRed.


--EDIT--
I lied, I don't think there is a way to do it in hex. Unless you want to standardize a specific nature to a specific breed (then again I know nothing :P).
 
73
Posts
14
Years
  • Seen Aug 31, 2014
In this post, what are the differences between "labels" and pointers? I assume you mean variable names when you say labels?

As for the question:
bulbapedia.bulbagarden.net/wiki/Pokemon_data_structure_in_Generation_III#Personality_value
To successfully edit would require ASM I'd think (though maybe there is a way to do it in hex).
If you scroll down, you'd find that the offset is at 0x02024284 in FireRed.


--EDIT--
I lied, I don't think there is a way to do it in hex. Unless you want to standardize a specific nature to a specific breed (then again I know nothing :P).

Thanks! I'll check it out.
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
In this post, what are the differences between "labels" and pointers? I assume you mean variable names when you say labels?

As for the question:
bulbapedia.bulbagarden.net/wiki/Pokemon_data_structure_in_Generation_III#Personality_value
To successfully edit would require ASM I'd think (though maybe there is a way to do it in hex).
If you scroll down, you'd find that the offset is at 0x02024284 in FireRed.


--EDIT--
I lied, I don't think there is a way to do it in hex. Unless you want to standardize a specific nature to a specific breed (then again I know nothing :P).

When I said labels, I meant that it is labeled as. If you open uo the memory in vba, it shows the ram. 00 is BIOS, 02 is WRAM, 03 is IRAM, and so on. When you get to 08, this is the actual rom. By putting 08 in a pointer, you are telling the engine that the pointer is going to the rom and not another place in the ram. I called it a label, because it's like a number equivilant of the label "rom".

The location you showed is in the ram. What was being asked is how to change it in the rom so that later it can be used by the game. If it is only changed in the ram, you would most likely have to change those values each time you loaded the game.

Edit:
Now that I followed the link, that is the data structure for a stored team or the pokemon in your pc. By changing the nature there, you would only change what nature that party pokemon had. It's also encrypted, though JPAN has a nice long post on how to work with it.


Romancandle: If you feel like scrolling through the entire rom, look for a pointer table that is only 25 or 26 pointers long. Don't know if it will have a nature at 0 so that would make the table one pointer longer. The table you encountered might be related if it is indeed the proper length. You would just follow the pointer, though I fear it is much more complicated and probobly involves an asm routine at the other end of the pointer.

Hello all ^_^
I really need some help but Honestly I seem to have made no friends in here to ask for some. So I am asking the community..
I did my research on XSE and am getting really good at it, so I started learning about mapping on a more in depth scale, but have come to a halt. I am understanding how to load new tiles and change palletes, but what is bothering me is I have tried for a day and a half to figure out how to make Bridges to work in FR. I understand what movement permissions do but I can't for the life of me get my character to walk under the bridge. I read that the tiles behavior byte must be 08 00 but that didn't work so I tried to one in Ruby, That didn't work. I have read the what I can find on the subject of "Bridges in Fire Red" and do what they say step by step and still get no result... So what I need to know if someone could help me is step by step in detail how to set up bridges in Fire Red . Like if I need specific tiles for the briges, what behavior byte is for brigde tiles, and if it needs a backround byte???

tools being used-
Advance Map 1.92
Paint
Photoshop
X.S.E
IrfanView
and others

Many credits to their makers
and to those who keep this community toghether

http://www.pokecommunity.com/showthread.php?t=161616

^^This tutorial by link12552 has a very good explanation of bridges near the end. Here is the quote in the spoiler:

Spoiler:
 
Last edited:

Blah

Free supporter
1,924
Posts
11
Years
When I said labels, I meant that it is labeled as. If you open uo the memory in vba, it shows the ram. 00 is BIOS, 02 is WRAM, 03 is IRAM, and so on. When you get to 08, this is the actual rom. By putting 08 in a pointer, you are telling the engine that the pointer is going to the rom and not another place in the ram. I called it a label, because it's like a number equivilant of the label "rom".

The location you showed is in the ram. What was being asked is how to change it in the rom so that later it can be used by the game. If it is only changed in the ram, you would most likely have to change those values each time you loaded the game.
Ohh, alright makes sense now. I was kinda confused when you said label for the first time since technically variables themselves are pointers :)
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
Ohh, alright makes sense now. I was kinda confused when you said label for the first time since technically variables themselves are pointers :)

If you really think about, every single command is a pointer. Every command (except the ones that do nothing:D) points to some routine and the parameters you put after it guide it.

Also, when I use the term "label" unless I say otherwise, I'm mean it like everyday use, like the label on a can or the title at the top of a page.
 
Last edited:
73
Posts
14
Years
  • Seen Aug 31, 2014
Romancandle: If you feel like scrolling through the entire rom, look for a pointer table that is only 25 or 26 pointers long. Don't know if it will have a nature at 0 so that would make the table one pointer longer. The table you encountered might be related if it is indeed the proper length. You would just follow the pointer, though I fear it is much more complicated and probobly involves an asm routine at the other end of the pointer.


Is there any way to search for this stuff more quickly?

Also, the table AFTER the nature names just point back to it. Figures.

Edit: Eh, it's not worth the amount of effort. Changing the neutral natures into +HP just isn't worth it.
 
Last edited:

BrandoSheriff

Has a tendency to figure things out
776
Posts
16
Years
Ok, so I've started adding new descriptions for the extra moves I added in my hack. It's been going along well; I'd go into "Summary" to check it, and it would look fine. But now, around the 40th description I've added, when I go to "Summary" to check, the game just resets. Why in the heck?
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
Romancandle: If you feel like scrolling through the entire rom, look for a pointer table that is only 25 or 26 pointers long. Don't know if it will have a nature at 0 so that would make the table one pointer longer. The table you encountered might be related if it is indeed the proper length. You would just follow the pointer, though I fear it is much more complicated and probobly involves an asm routine at the other end of the pointer.


Is there any way to search for this stuff more quickly?

Also, the table AFTER the nature names just point back to it. Figures.

Edit: Eh, it's not worth the amount of effort. Changing the neutral natures into +HP just isn't worth it.

It's a great idea, and it can be done. We just don't know much about nature yet. However, in case you ever feel like you want to give it another try, I have noticed that simillar things tend to be stored near each other. So, the table your looking for could only be a little bit away. Don't know.

There is a better way and it involves debugging. If you can see what part of the ram is being called upon when a nature is loaded, you can seach for those parts in the rom and find it. But its tough because it's not as obvious when natures are called upon compared to things like attack. I'm sure someday, someone will figure it out.


Ok, so I've started adding new descriptions for the extra moves I added in my hack. It's been going along well; I'd go into "Summary" to check it, and it would look fine. But now, around the 40th description I've added, when I go to "Summary" to check, the game just resets. Why in the heck?

Bad pointer? Is it for all of them, or just that one move. If it is just the one, there was probobly just a problem with your offset. Just try recompiling it and then put in the new offset. If it's all them, it could be anything from a table error or a pointer to table error. Experiment with defferent things and see if something you do causes a change.
 
Last edited:

BrandoSheriff

Has a tendency to figure things out
776
Posts
16
Years
Bad pointer? Is it for all of them, or just that one move. If it is just the one, there was probobly just a problem with your offset. Just try recompiling it and then put in the new offset. If it's all them, it could be anything from a table error or a pointer to table error. Experiment with defferent things and see if something you do causes a change.

That's what I thought, but even when I change the offset to another one, the game still resets. Is there a portion in the game's free space that you just can't mess with? Am I changing descriptions too close to the bottom (I started at offset 0x900EEB)? Either way, I can't seem to fix this problem. Putting in another offset, pointing it to free space, and using an already made stock description all don't work. I'm hoping there's a solution. If not, I'm glad I have a backup game with no descriptions and saved scripts of said descriptions. :/

I'm using Pokemon Game Editor's Attack Editor and Pokemon Ruby, if that helps any.
 

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
That's what I thought, but even when I change the offset to another one, the game still resets. Is there a portion in the game's free space that you just can't mess with? Am I changing descriptions too close to the bottom (I started at offset 0x900EEB)? Either way, I can't seem to fix this problem. Putting in another offset, pointing it to free space, and using an already made stock description all don't work. I'm hoping there's a solution. If not, I'm glad I have a backup game with no descriptions and saved scripts of said descriptions. :/

I'm using Pokemon Game Editor's Attack Editor and Pokemon Ruby, if that helps any.

The 0x900000's should be safe, I know that when you get up really high, there is a string of numbers about 20 bytes long every 1000 or so bytes, don't know what it does, but it shouldn't be a problem if you descriptions are inserted dynamically. From your response, it is just the one move I'm guessing. What if it's not the description but one of the other details that is causing it to crash? Try looking into making sure everything else is correct also.

If worse comes to worse, just start over and make a back-up every five or so descriptions, they take up space, but it's far better than starting over many times.
 
3
Posts
12
Years
  • Seen Jan 21, 2013
I keep getting this error "ERROR (ENotAPointer) AdvanceMapError(5): The value at $486828 is not a Pointer!!"
Using Advance Map 1.95 and Emerald if that makes a difference.
Tried looking it up but no luck.
What does it mean and how do i fix it?
I just started hacking so I know very little. My apologies if this has already been answered or if the answer is blatantly obvious.
 

Manganum

Your local sine wave
145
Posts
14
Years
I searched the thread, but I couldn't find anything relevant, so here goes:
I want to edit Lance's battle in Fire Red to be a double battle (which is simple enough), but I can't work out how to put another sprite alongside his when it says "Elite Four Lance wants to battle" or whatever. I'm going to go and compare his script with an existing double battle and see if that yields any results, but it's still worth posting this.
Anyone?
 

DrFuji

[I]Heiki Hecchara‌‌[/I]
1,691
Posts
14
Years
I keep getting this error "ERROR (ENotAPointer) AdvanceMapError(5): The value at $486828 is not a Pointer!!"
Using Advance Map 1.95 and Emerald if that makes a difference.
Tried looking it up but no luck.
What does it mean and how do i fix it?
I just started hacking so I know very little. My apologies if this has already been answered or if the answer is blatantly obvious.

That part of the ROM seems to deal with the connections between each map, there are quite a lot of zeroes around there so I'm guessing that you overwrote the data there when trying to insert something (a map, script, tiles etc). A quick fix would be to make a back up of your ROM, open it in a HEX editor, goto (Ctrl+G) 0x486828 and replace what's written there with '0C 68 48 08'. That would be the very least you can do to make that error disappear, but it would be better to compare that section of your edited Emerald ROM to one that hasn't been modified in any way and then replace your edited data with what's there.

Since you're starting out I can understand that it could be a bit hard to do this, but its the simplest thing I can think of to remedy your problem.

I searched the thread, but I couldn't find anything relevant, so here goes:
I want to edit Lance's battle in Fire Red to be a double battle (which is simple enough), but I can't work out how to put another sprite alongside his when it says "Elite Four Lance wants to battle" or whatever. I'm going to go and compare his script with an existing double battle and see if that yields any results, but it's still worth posting this.
Anyone?

When entering a double-battle in FR the game doesn't take two separate trainer images and pair them together, it uses a single image that has two people in it. You can see this is the case if you look at the images from 127 to 131 in Advance Trainer.

If you want to have two trainers appear when the trainer battle begins/ finishes you will have to do what GameFreak did and put them in the same sprite.
 
Last edited:

Manganum

Your local sine wave
145
Posts
14
Years
When entering a double-battle in FR the game doesn't take two separate trainer images and pair them together, it uses a single image that has two people in it. You can see this is the case if you look at the images from 127 to 131 in Advance Trainer.

If you want to have two trainers appear when the trainer battle begins/ finishes you will have to do what GameFreak did and put them in the same sprite.

I see... I've also noticed that there are no double battles in FR/LG in which the NPCs have more than one Pokemon each. Is there a technical reason for this, or should I be able to add in as many as I want, whilst keeping them with their respective "owners" (for example, if I made all 3 of the left Pokemon faint, would the trainer on the right send out their own to replace them)?
 

DrFuji

[I]Heiki Hecchara‌‌[/I]
1,691
Posts
14
Years
I see... I've also noticed that there are no double battles in FR/LG in which the NPCs have more than one Pokemon each. Is there a technical reason for this, or should I be able to add in as many as I want, whilst keeping them with their respective "owners" (for example, if I made all 3 of the left Pokemon faint, would the trainer on the right send out their own to replace them)?

The game only recognises that there is one trainer on the field so that means all of the Pokemon are 'shared' between the left and right side of the opposition. Basically I'm trying to say that if you're battling a full team of six and knock out three Pokemon on the right-hand side and none on the left, they're still going to throw out a fourth one to battle with. There's still the normal six Pokemon limit in FRLG double battles so at least the upside is you don't have to restrict them to two Pokemon in total.

Just like the sprite situation, its one trainer but with the illusion of two :P
 
53
Posts
11
Years
  • Seen Feb 1, 2014
A rapid question: how a tile became a fishing one?

I've created tiles for mountain lakes; but when i try to fish, the game say: "DAD's advice: there's a time and place for.." and i cannot fish.
 

Blah

Free supporter
1,924
Posts
11
Years
A rapid question: how a tile became a fishing one?

I've created tiles for mountain lakes; but when i try to fish, the game say: "DAD's advice: there's a time and place for.." and i cannot fish.

I'm not sure which properties effect what when it comes to fishing, but in advance map there are two things that all "fishable" water tiles have in common. If you open the block editor and hover over a certain water tile (not the puddle), you'll find they all share these two things:

Behaviour Byte of: 15 04
Background Byte of: 00 22

Match your custom tiles to have these values (found in the block editor of Advance Map) and it should work (I hope :P).


EDIT:
Now I have a question :P
Can I just use variables instead of using flags altogether? I mean of course there are certain flags like the Pokedex flag that are special, but I mean for events and such, is there a disadvantage to using variables over flags?
 
Last edited:

karatekid552

What happens if I push it?....
1,771
Posts
11
Years
A rapid question: how a tile became a fishing one?

I've created tiles for mountain lakes; but when i try to fish, the game say: "DAD's advice: there's a time and place for.." and i cannot fish.

I'm not sure which properties effect what when it comes to fishing, but in advance map there are two things that all "fishable" water tiles have in common. If you open the block editor and hover over a certain water tile (not the puddle), you'll find they all share these two things:

Behaviour Byte of: 15 04
Background Byte of: 00 22

Match your custom tiles to have these values (found in the block editor of Advance Map) and it should work (I hope :P).


EDIT:
Now I have a question :P
Can I just use variables instead of using flags altogether? I mean of course there are certain flags like the Pokedex flag that are special, but I mean for events and such, is there a disadvantage to using variables over flags?

Not really, flags can be set to either 0x0 or 0x1. Vars can do that, and then much more. So, really they are the same.

They're like light switches. Some just turn on and off wheras some can be adjusted to all different levels of light. It seems to be just your prefrance.
 
Status
Not open for further replies.
Back
Top