• 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 places on the 'net to talk Pokémon and more! Community members will not see the bottom screen advertisements.
  • Want to share your adventures playing Pokémon?
    Check out our new Travel Journals forum for sharing playthroughs of ROM Hacks, Fan Games, and other Pokémon content!
  • IMPORTANT: Following a takedown request, the following hacks have been delisted from PokéCommunity:

    • Pokémon Glazed
    • Pokémon: Giratina Strikes Back
    • Pokémon Flora Sky
    • Pokémon Stranded
    The downloads and discussion threads for these hacks will no longer be accessible, and staff will be unable to return questions regarding accessing this content.

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

Status
Not open for further replies.

0m3GA ARS3NAL

Im comin' home...
1,816
Posts
16
Years
Hi, I have an english-pokemon-term related question, im not a native english speaker so i dont know how you use some terms on the pokemon hacking world...

So, what roam/swarm means in pokemon rom hacking???

I think roaming is like for example lati@s on ruby?? or not? Thats my clue...

And i have no clue or remote idea about swarm... Hope someone clears me up this.

Sorry if this is very stupid...

Roaming pokemon is like Latios/Latias, or the Legendary Dog Pokemon, Entei and Raikou (Not counting Suicune like in the old Gold and Silver)

A swarm pokemon is like in the DS pokemon games, when a lot of pokemon would be seen in one route, like a ton of Pidgey or a lot of Ralts in one route than normal.

(I had a swarm of Dunsparce appear in D/P, I ran into 15 Dunsparce in a row.)
 
18
Posts
13
Years
  • Seen Jun 16, 2011
Does anybody know how to repoint the text in thingy32;to enter longer strings.
 
4
Posts
13
Years
  • Seen Jul 25, 2015
Roaming pokemon is like Latios/Latias, or the Legendary Dog Pokemon, Entei and Raikou (Not counting Suicune like in the old Gold and Silver)

A swarm pokemon is like in the DS pokemon games, when a lot of pokemon would be seen in one route, like a ton of Pidgey or a lot of Ralts in one route than normal.

(I had a swarm of Dunsparce appear in D/P, I ran into 15 Dunsparce in a row.)

Thank you very much for the quick reply, i get it now!!!... I probably didnt get the swarm thing becouse i havnt play ds games...

Thanks!!
 

0m3GA ARS3NAL

Im comin' home...
1,816
Posts
16
Years
Does anybody know how to repoint the text in thingy32;to enter longer strings.

Get the offset of the text you want to repoint, open up a hex editor (unless thingy can do it) and search for it in the ROM.

If you've gotten more than one result you'll have to go with trial and error for the next part.

Then just change that pointer to where you want your new text, be sure to remember to reverse the HEX in the hex editor.
 
63
Posts
13
Years
  • Seen Dec 6, 2023
abidon, have you ever tried using Advance Text instead of thingy32?
I've never had any problems with it, even making shorter and longer phrases (it has a built-in system that searches for free space in the rom, for the latter)
 
69
Posts
13
Years
  • Seen Jan 8, 2012
nobody has given me a straight forward understandable answer on this. what are variables and values purpose in rom hacking for example: setvar 0x(variable) 0x(value)

people have told me you set a variable to a value but what is its purpose?
 

metapod23

Hardened Trainer
673
Posts
15
Years
  • Seen Aug 18, 2016
nobody has given me a straight forward understandable answer on this. what are variables and values purpose in rom hacking for example: setvar 0x(variable) 0x(value)

people have told me you set a variable to a value but what is its purpose?

The purpose, mostly, is to trigger certain events, scripts, or actions based on the value of the variable. This can be used with the compare command.

For example, you can use:

compare 0x4050 0x1
if 0x1 goto @4050is01
(insert script here)
setvar 0x4050 0x1
end


^ This would work similarly to a flag. Basically, it's on a need basis. Since any script that is triggered when you step onto it requires a variable to be activated, it makes sense to use variables instead of flags.

Thus, if you need to know whether a certain script has been activated, you can compare its variable to a certain value to determine that.

Also, variables are used for other purposes. Some are special and shouldn't be changed. Variable 800C stores the value of the direction the player is facing. You can use the compare command, in that case, to determine if the player is facing a certain direction.

800D stores the last result of anything in it - this can be any selection made, whether it's the answer to a yes/no question, or the # of Pokemon in your party, etc.

For more information on variables, why not read XSE's guide, under Practical Classroom? The guide states the purpose of variables this way:

Variables are items used by the game to store 16bit values meaning these values can range from 0x0 - 0xFFFF or 0 - 65535. Variables are used by the game a lot, mostly used for the purpose of conditioning. Depending on your game - different versions have different amounts of free variables that can be used by a scripter, for example, on R/S the useable variables can range from 0x5000 - 0x6FFF approx. while for E/FR/LG it can range from 0x5000 - 0x7FFF or roughly.

Lastly, the reason you would set a variable in a script to a value other than 0 is to prevent that script from activating again after it has already been activated. If your script is set up to trigger when variable 4050 is set to 0, you need to change the value of the variable 4050 to a value other than 0, otherwise that script will continue to activate any time the player steps on it, which you most likely would not want to happen.

A good example is the Guards in Fire Red. Take a look at that script. If a certain flag is set indicating the player has received the Tea, it changes how the script functions.

Code:
#org 0x16F92E
textcolor 0x0
applymovement MOVE_PLAYER 0x81A75E7
waitmovement 0x0
[b]checkflag 0x2A6
if 0x1 goto 0x816F958[/b]
msgbox 0x819E04B MSG_KEEPOPEN '"I'm on guard duty.\nGee, I'm thirs..."
closeonkeypress
applymovement MOVE_PLAYER 0x816F9C4
waitmovement 0x0
releaseall
end

^ I bolded the checkflag - if 0x2A6 is set, it goes to a different script, this script:

Code:
'---------------
#org 0x16F958
removeitem 0x171 0x1
goto 0x816F963

'---------------
#org 0x16F963
msgbox 0x819E09B MSG_KEEPOPEN '"Oh, that TEA[.]\nIt looks awfully ..."
closeonkeypress
compare 0x4001 0x0
if 0x1 call 0x816F99C
compare 0x4001 0x1
if 0x1 call 0x816F9A7
compare 0x4001 0x2
if 0x1 call 0x816F9B2
msgbox 0x819E0C1 MSG_KEEPOPEN '"Huh? I can have this drink?\nGee, ..."
[b]setvar 0x4062 0x1[/b]
releaseall
end

^ Which sets variable 0x4062 to the value of 1. If you look in A-Map at the Guard Script, you will see that its variable # is 4062 and its variable value is 0. This is how the game prevented the script from repeating itself once a certain event has taken place - it did it by using variables.

I hope you find this helpful and not too confusing.
 

-Cygnus-

It's an odyssey
86
Posts
13
Years
  • Seen Nov 10, 2015
Hey everyone, quick question... If I want to replace the hero battle-screen back sprite with a different one (say a pokemon backsprite already in the game), would it be better to just change the image in unlz or to somehow change the pointer that tells the game where to get the hero backsprite from? If the latter, how would I go about doing it? Thanks.
 

shinyabsol1

Pokemon DarkJasper!?
333
Posts
13
Years
  • Seen Nov 23, 2022
this is a dumb question...but:

how do I know if I can use tiles I find around here or not? for example, I found some maps in a rating thread and i like some of the tiles in them...but can i use them?

thanks...
 
190
Posts
14
Years
  • Seen Apr 14, 2016
this is a dumb question...but:

how do I know if I can use tiles I find around here or not? for example, I found some maps in a rating thread and i like some of the tiles in them...but can i use them?

thanks...

Most tiles people use are public, meaning u can use them. but if you find ones you like, u can the person who is using them, or the creator themselves. most people will credit those who made the tiles.

Hey everyone, quick question... If I want to replace the hero battle-screen back sprite with a different one (say a pokemon backsprite already in the game), would it be better to just change the image in unlz or to somehow change the pointer that tells the game where to get the hero backsprite from? If the latter, how would I go about doing it? Thanks.

I would suggest NSE, it has it bookmarked so u can change it. you would just need to export the one you want, then insert it again to the hero one.
 
Last edited:
69
Posts
13
Years
  • Seen Jan 8, 2012
ohhhhhhso...

The purpose, mostly, is to trigger certain events, scripts, or actions based on the value of the variable. This can be used with the compare command.

For example, you can use:

compare 0x4050 0x1
if 0x1 goto @4050is01
(insert script here)
setvar 0x4050 0x1
end


^ This would work similarly to a flag. Basically, it's on a need basis. Since any script that is triggered when you step onto it requires a variable to be activated, it makes sense to use variables instead of flags.

Thus, if you need to know whether a certain script has been activated, you can compare its variable to a certain value to determine that.

Also, variables are used for other purposes. Some are special and shouldn't be changed. Variable 800C stores the value of the direction the player is facing. You can use the compare command, in that case, to determine if the player is facing a certain direction.

800D stores the last result of anything in it - this can be any selection made, whether it's the answer to a yes/no question, or the # of Pokemon in your party, etc.

For more information on variables, why not read XSE's guide, under Practical Classroom? The guide states the purpose of variables this way:



Lastly, the reason you would set a variable in a script to a value other than 0 is to prevent that script from activating again after it has already been activated. If your script is set up to trigger when variable 4050 is set to 0, you need to change the value of the variable 4050 to a value other than 0, otherwise that script will continue to activate any time the player steps on it, which you most likely would not want to happen.

A good example is the Guards in Fire Red. Take a look at that script. If a certain flag is set indicating the player has received the Tea, it changes how the script functions.

Code:
#org 0x16F92E
textcolor 0x0
applymovement MOVE_PLAYER 0x81A75E7
waitmovement 0x0
[b]checkflag 0x2A6
if 0x1 goto 0x816F958[/b]
msgbox 0x819E04B MSG_KEEPOPEN '"I'm on guard duty.\nGee, I'm thirs..."
closeonkeypress
applymovement MOVE_PLAYER 0x816F9C4
waitmovement 0x0
releaseall
end

^ I bolded the checkflag - if 0x2A6 is set, it goes to a different script, this script:

Code:
'---------------
#org 0x16F958
removeitem 0x171 0x1
goto 0x816F963

'---------------
#org 0x16F963
msgbox 0x819E09B MSG_KEEPOPEN '"Oh, that TEA[.]\nIt looks awfully ..."
closeonkeypress
compare 0x4001 0x0
if 0x1 call 0x816F99C
compare 0x4001 0x1
if 0x1 call 0x816F9A7
compare 0x4001 0x2
if 0x1 call 0x816F9B2
msgbox 0x819E0C1 MSG_KEEPOPEN '"Huh? I can have this drink?\nGee, ..."
[b]setvar 0x4062 0x1[/b]
releaseall
end

^ Which sets variable 0x4062 to the value of 1. If you look in A-Map at the Guard Script, you will see that its variable # is 4062 and its variable value is 0. This is how the game prevented the script from repeating itself once a certain event has taken place - it did it by using variables.

I hope you find this helpful and not too confusing.

the compare command is like check flage?

and setvar is like set flag?

so checkflag 0xflag number = compare 0xvariable 0xvalue like
0x0 = no
0x1 = yes

and setvar 0xvariable 0xvallue either 0x0 or 0x1 is the same as setflag 0xflag number?
 

0m3GA ARS3NAL

Im comin' home...
1,816
Posts
16
Years
the compare command is like check flage?

and setvar is like set flag?

so checkflag 0xflag number = compare 0xvariable 0xvalue like
0x0 = no
0x1 = yes

and setvar 0xvariable 0xvallue either 0x0 or 0x1 is the same as setflag 0xflag number?

No, not exactly.
You can't use a variable from something you need a flag for, so trying to use a variable in a spot a flag must go won't work.

Also, only flags return just Boolean results, (True/False... 0= no, 1= yes)
Variables store numbers to be used elsewhere.

You can use variables to define the type of pokemon a player is given in a script, or even defining the strength of an earthquake. They can be used to choose how and where to ride a boat, giving players a random item from a list, or just a random item if you prefer.

Remember, that a variable can only store a number from 0 to 65535 (or 0x0 to 0xFFFF in HEX) so storing entire pointers, you can not do, but a variable can change what pointer your script chooses from to branch off to another script.

Each command that calls for a variable will MOST LIKELY use a variable differently from another.
For instance, givepokemon has quite a few parameters, and you can use a variable to change the pokemon it gives, without having to branch off to a completely different script.
(If I remember correctly, I know that the giveitem command lets you use variables to define it's parameters...)

Now, lets say the player gets Any of the 3 starter pokemon from Kanto at random, bulbasaur, charmander, and squirtle...
Now, we COULD make a branching script for all of these... or we can optimize it and use variables instead.

Just write the variable in the Pokemon # portion of the givepokemon command, and have the script change the variable with the various variable setting commands to get your desired number...

setvar - Sets a variable
copyvar - Copies a variable to a variable
addvar - Adds a number to a variable
subvar - must I explain?
comparevars - Compares the 1st variable to the 2nd, it's used exactly like the compare command, only it can use 2 variables instead of a variable and a static number.
random - Generates a psuedo-random number between 0 and the given number (If my memory serves me right)

All useful commands that require variables.
There is bound to be a few more variable manipulating ones out there but I cna't remember off the top of my head.
(Technically, writebytetooffset would count since you CAN manually change a variable, it's just not wise to do so without knowing what you are doing...)

(even if it seems confusing now, keep at it, you'll get it eventually!)

I would suggest NSE, it has it bookmarked so u can change it. you would just need to export the one you want, then insert it again to the hero one.

It would be easier to just open NSE, get the offsets for both the sprite you want to use later, and the current hero sprite from the bookmarks file, then open up a hex editor, and look for a pointer to the hero backsprite, and change it to the offset of the backsprite you want to use that is already in-game.

If you're working with R/S the only thing I can think of as a problem would be the intro movie...

In Ruby and Sapphire, the intro movie shows May and Brendan's backsprites, so you'd want to be sure when repointing that the changes you make actually do what you wanted it to do.

This way you don't have to insert another copy of the image data into the ROM.
 
Last edited:
69
Posts
13
Years
  • Seen Jan 8, 2012
No, not exactly.
You can't use a variable from something you need a flag for, so trying to use a variable in a spot a flag must go won't work.

Also, only flags return just Boolean results, (True/False... 0= no, 1= yes)
Variables store numbers to be used elsewhere.

You can use variables to define the type of pokemon a player is given in a script, or even defining the strength of an earthquake. They can be used to choose how and where to ride a boat, giving players a random item from a list, or just a random item if you prefer.

Remember, that a variable can only store a number from 0 to 65535 (or 0x0 to 0xFFFF in HEX) so storing entire pointers, you can not do, but a variable can change what pointer your script chooses from to branch off to another script.

Each command that calls for a variable will MOST LIKELY use a variable differently from another.
For instance, givepokemon has quite a few parameters, and you can use a variable to change the pokemon it gives, without having to branch off to a completely different script.
(If I remember correctly, I know that the giveitem command lets you use variables to define it's parameters...)

Now, lets say the player gets Any of the 3 starter pokemon from Kanto at random, bulbasaur, charmander, and squirtle...
Now, we COULD make a branching script for all of these... or we can optimize it and use variables instead.

Just write the variable in the Pokemon # portion of the givepokemon command, and have the script change the variable with the various variable setting commands to get your desired number...

setvar - Sets a variable
copyvar - Copies a variable to a variable
addvar - Adds a number to a variable
subvar - must I explain?
comparevars - Compares the 1st variable to the 2nd, it's used exactly like the compare command, only it can use 2 variables instead of a variable and a static number.
random - Generates a psuedo-random number between 0 and the given number (If my memory serves me right)

All useful commands that require variables.
There is bound to be a few more variable manipulating ones out there but I cna't remember off the top of my head.
(Technically, writebytetooffset would count since you CAN manually change a variable, it's just not wise to do so without knowing what you are doing...)

(even if it seems confusing now, keep at it, you'll get it eventually!)



It would be easier to just open NSE, get the offsets for both the sprite you want to use later, and the current hero sprite from the bookmarks file, then open up a hex editor, and look for a pointer to the hero backsprite, and change it to the offset of the backsprite you want to use that is already in-game.

If you're working with R/S the only thing I can think of as a problem would be the intro movie...

In Ruby and Sapphire, the intro movie shows May and Brendan's backsprites, so you'd want to be sure when repointing that the changes you make actually do what you wanted it to do.

This way you don't have to insert another copy of the image data into the ROM.


so when i use say

compare LASTRESULT 0x3 the lastresult is the output for the variable i put in there and the 0x3 is the value and the value can be anything from 0x0 0xFFFF?

or is it the variable that is from 0x0 to 0xFFFF

and variables are used to make cause-effect story line components? or maybe complex multi-scipt components?
 

Orinjmate

The Orinj of the Mate
120
Posts
13
Years
I'm going to try asking this ONE more time! It's impossible to ask a question on this thread with-out it getting drowned in noob questions which can be easily answered by searching!!! Anyway here's my last go and no-one even makes the smallest attempt to answer my question then I'm never gonna bother considering using this thread again...

Does anyone know the offset for the palette of all the text colours in Emerald?
My normal method of using VBA's palette viewer to find the colours and then searching them with the first 2 and last 2 numbers swapped around in a hex editor didn't work this time :/ I also noticed that if you look really closely at the text, it uses two colours (a much lighter shade of the colour being used on top to give it more depth). And I also noticed that the palette has lots of sets of two colours (the second often being a much lighter version of the first). Does this mean that if I edit them I will have to make each of those a lighter version of what I change it to?
 

0m3GA ARS3NAL

Im comin' home...
1,816
Posts
16
Years
so when i use say

compare LASTRESULT 0x3 the lastresult is the output for the variable i put in there and the 0x3 is the value and the value can be anything from 0x0 0xFFFF?

or is it the variable that is from 0x0 to 0xFFFF

and variables are used to make cause-effect story line components? or maybe complex multi-scipt components?

Close, the compare command is set up like so-

compare variable byte

The variable can be any variable you've chosen, but in scripting you'll use LASTRESULT a WHOLE lot, since commands like msgbox 0xpointer 0x5 change the value stored in LASTRESULT.
the byte, can be any number from 0x0 to 0xFF (or 0 to 255 in Decimal)

If you want to be able to compare variable to another one, you've got to use comparevars
(Which PRETTY MUCH compare any number from 0x to 0xFFFF, with any number from 0x0 to 0xFFFF.

just remember the 2nd number in the comparevars command MUST be a variable too.

Orinjmate said:
I'm going to try asking this ONE more time! It's impossible to ask a question on this thread with-out it getting drowned in noob questions which can be easily answered by searching!!! Anyway here's my last go and no-one even makes the smallest attempt to answer my question then I'm never gonna bother considering using this thread again...

Does anyone know the offset for the palette of all the text colours in Emerald?
My normal method of using VBA's palette viewer to find the colours and then searching them with the first 2 and last 2 numbers swapped around in a hex editor didn't work this time :/ I also noticed that if you look really closely at the text, it uses two colours (a much lighter shade of the colour being used on top to give it more depth). And I also noticed that the palette has lots of sets of two colours (the second often being a much lighter version of the first). Does this mean that if I edit them I will have to make each of those a lighter version of what I change it to?

Well, I hope you mean you're searching by reversing the color data... Xx = one byte
like so-
Normal AaBbCcDd
Reversed DdCcBbAa
cause if you are is SHOULD work...

I don't have the text color offsets for emerald though, sorry...
 

DrFuji

[I]Heiki Hecchara‌‌[/I]
1,691
Posts
14
Years
I'm going to try asking this ONE more time! It's impossible to ask a question on this thread with-out it getting drowned in noob questions which can be easily answered by searching!!! Anyway here's my last go and no-one even makes the smallest attempt to answer my question then I'm never gonna bother considering using this thread again...

Does anyone know the offset for the palette of all the text colours in Emerald?
My normal method of using VBA's palette viewer to find the colours and then searching them with the first 2 and last 2 numbers swapped around in a hex editor didn't work this time :/ I also noticed that if you look really closely at the text, it uses two colours (a much lighter shade of the colour being used on top to give it more depth). And I also noticed that the palette has lots of sets of two colours (the second often being a much lighter version of the first). Does this mean that if I edit them I will have to make each of those a lighter version of what I change it to?

While I rarely work with Emerald, from what I can see the normal palette can be found at 0xDDD728 as it changed when I edited it. There are also a number of similar pallets earlier in the ROM starting at 0x51017C and one at 0xC2F9E5 but I have no idea what they're for (Different textboxes because only the last few colours are different?). If someone more experienced with Emerald wants to correct me then go ahead.

Yeah, you should make the second colour lighter as it will show up in the text as shading, so having light red shadowing around a dark blue font wouldn't be very aethstetically pleasing.
 
69
Posts
13
Years
  • Seen Jan 8, 2012
Close, the compare command is set up like so-

compare variable byte

The variable can be any variable you've chosen, but in scripting you'll use LASTRESULT a WHOLE lot, since commands like msgbox 0xpointer 0x5 change the value stored in LASTRESULT.
the byte, can be any number from 0x0 to 0xFF (or 0 to 255 in Decimal)

If you want to be able to compare variable to another one, you've got to use comparevars
(Which PRETTY MUCH compare any number from 0x to 0xFFFF, with any number from 0x0 to 0xFFFF.

just remember the 2nd number in the comparevars command MUST be a variable too.



Well, I hope you mean you're searching by reversing the color data... Xx = one byte
like so-
Normal AaBbCcDd
Reversed DdCcBbAa
cause if you are is SHOULD work...

I don't have the text color offsets for emerald though, sorry...

can you give me a couple of different example explaining how to use them?
 

metapod23

Hardened Trainer
673
Posts
15
Years
  • Seen Aug 18, 2016
can you give me a couple of different example explaining how to use them?

An example of using lastresult is when you ask a yes no question:

Code:
msgbox @question msg_yesno
compare lastresult 0x1
if 0x1 goto @yes
msgbox @no msg_normal
end

#org @yes
msgbox @yes2 msg_normal
end

#org @no
= You said no.

#org @yes
= You said yes.

The selection you make when you pick yes or no is stored by the game in lastresult (variabe 0x800D). If you answered yes, it's stored as 0x1.

Another example is with the countpokemon command:

Code:
countpokemon
compare lastresult 0x4
if 0x1 goto @4
end

#org @4
msgbox @youhave4 msg_normal
end

#org youhave4
= You have 4 Pokemon!

The countpokemon command stores the # of Pokemon you have in your party in lastresult, so the value will be anywhere from 0 to 6. You can use the compare command to determine if the player has a certain # of Pokemon in his party. The if command is the conditional command that tells the script what to do next. I recently learned that there are about 6 possible values you can use with the if command:

Code:
Lower Than (0x0)
Equals (0x1)
Greater Than (0x2)
Lower than or Equal to (0x3)
Greater than or Equal to (0x4)
Not exactly equal to (0x5)

So if you write if 0x1 goto ... you are saying, if the variable and the value you compared are equal, jump to this script.

If you write if 0x5 goto ... you are saying, if the variable and the value you compared are not equal, jump to this script.

The compare and if commands are important to a lot of commands in the game that store certain results in variables.

Another example is the getplayerpos command. When you use this command, you tell the game where to store the value of your X-position and Y-position on the map (I use variable 4000 and 4001 for this). So, for example:

Code:
getplayerpos 0x4000 0x4001
compare 0x4000 0x5
if 0x1 goto @go
end

#org @go
msgbox @go2 msg_normal
end

#org @go2
= Your X-coordinate is at 5.

^ This is useful if you need a certain something to happen only if the player is standing in a particular spot. For example, if you need a sprite to walk away, you might need to use this command to make sure the sprite doesn't walk through your character.

And lastly, I'll just mention that you can then determine if an event has taken place yet or not and trigger other events if it is. For example, in Prof. Oak script when you first receive the Pokedex, it sets variable 0x4051 to 0x1.

In Viridian, the old man stops your from passing only when 0x4051 is set to 0. Then, there's another script that activates only when 4051 is set to 1 - that activates the script where the old man shows you how to catch a Pokemon.

So by changing the value of the variable in Prof. Oak's script in Pallet Town, the game can tell whether you have received the Pokedex yet or not when you're in Viridian City and activate certain events accordingly. If you haven't received the Pokedex, the old man stops you from advancing - if you have, he shows you how to catch Pokemon.
 

-Cygnus-

It's an odyssey
86
Posts
13
Years
  • Seen Nov 10, 2015
It would be easier to just open NSE, get the offsets for both the sprite you want to use later, and the current hero sprite from the bookmarks file, then open up a hex editor, and look for a pointer to the hero backsprite, and change it to the offset of the backsprite you want to use that is already in-game.

If you're working with R/S the only thing I can think of as a problem would be the intro movie...

In Ruby and Sapphire, the intro movie shows May and Brendan's backsprites, so you'd want to be sure when repointing that the changes you make actually do what you wanted it to do.

This way you don't have to insert another copy of the image data into the ROM.

Hmm... I tried to open the trainer plugin w/NSE and it said it's not compatible with AXVE (Ruby). Is this because the plugins NSE comes with are only for FR/LG?

Never used NSE before, I'm just trying out what you said to do (with the Ruby ROM and trainer backsprite).
 

pghahaha

Beware of Hippopotas!
22
Posts
13
Years
Hi... Kinda Noobish

Hey, I'm a total noooob to hacking ROMS. I was wondering: how do you change your old tileset (e.g. Pokemon Emerald) into a new tileset (e.g. Pokemon HeartGold) in Advance Map? I would prefer a simple explanation if possible. Thanks! :t183:
 
Status
Not open for further replies.
Back
Top