The PokéCommunity Forums

The PokéCommunity Forums (https://www.pokecommunity.com/index.php)
-   Binary ROM Hacking (https://www.pokecommunity.com/forumdisplay.php?f=284)
-   -   Help Thread Quick Questions & Answers (https://www.pokecommunity.com/showthread.php?t=335486)

Xencleamas September 4th, 2015 5:32 AM

Quote:

Originally Posted by C me (Post 8915153)
VBA palette viewer is lying to me :(

I can't find the palette for the Rayquaza image from the Emerald intro. It shows up on the palette viewer as number 5 but searching for those colours gives no results, even searching for a few of the colous in a row gives me nothing.

I know you have to flip the number, XXYY becomes YYXX, I've done this before for other images and their palettes, what's wrong with this one?

Thanks

DDE418 is the location of Titlescreen Rayquaza palette (uncompressed colors).

In VBA it is YYXX. And the rest of the programs you are using to edit palettes are XXYY. Don't be confused. I also can't get why VBA has that manner.

mlem September 4th, 2015 6:11 AM

How do I make infinite TM's in fire red (meaning, relearnable)?

C me September 4th, 2015 7:27 AM

Quote:

Originally Posted by Sky High (Post 8915756)
DDE418 is the location of Titlescreen Rayquaza palette (uncompressed colors).

In VBA it is YYXX. And the rest of the programs you are using to edit palettes are XXYY. Don't be confused. I also can't get why VBA has that manner.

I'm not looking for the titlescreen palette, I'm looking for the one before the titlescreen, the rayquaza that shoots out that hyper beam thing after the clouds and stuff.

Don't worry, I don't find it confusing xD Thanks for your help.



I won't double post but I have another question. Where's the bird fly image in Emerald found? The palette is number 0 that brendan uses but the image is harder to find.

Cobalt_000 September 4th, 2015 4:38 PM


Any ideas on how to open them?

Sayuri September 5th, 2015 7:11 PM

I created several new maps in Advance Map and I changed everything under Header to match the other maps, yet I cannot use the running shoes in them; I can only walk. Can anyone help me with this?

Amms90 September 6th, 2015 1:24 AM

Hello,

after playing many hacks, I'm trying to move the first steps into rom hacking and I'm trying to edit my first rom. I'm absolutely a newbie at this and I probably can't do the simplest things >_> but oh well, gotta start somewhere. So my problem is with editing items. I want to add items in marts, or else to at least make it so that a certain item can be found somewhere in the game.

How can I do that? I thought the fastest way to solve my problem would be to use advance-mart (working with an Emerald rom). But when I try to run it, I get the COMCTL32.ocx issue. I googled and watched tutorials on youtube and did everything I could. I tried downloading that ocx file and I tried to follow the directions in the tutorials, but I get more errors. I don't know if the reason is that I'm using Windows 8, since I see instruction on how to install it only up to Windows 7.

link to see what I mean: http://www.ocxdump.com/ocxhelp.html

So I'm asking for help T_T if anybody could please tell me how to make a-mart work or how to edit sold items without a-mart or how to place an item somewhere on the map I'd be REALLY thankful!!!

DraconianWing September 6th, 2015 3:35 PM

Quote:

Originally Posted by PokemonAce123 (Post 8915811)
How do I make infinite TM's in fire red (meaning, relearnable)?

Not sure which version of FireRed you're using, so I'll just direct you to this thread. :)

NewDenverCity September 6th, 2015 5:04 PM

Does anyone know where the bag space begins? I don't want to accidentally overwrite that area in the RAM with anything haha.

Touched September 7th, 2015 1:13 AM

Quote:

Originally Posted by NewDenverCity (Post 8918708)
Does anyone know where the bag space begins? I don't want to accidentally overwrite that area in the RAM with anything haha.

I assume you mean the items and their respective quantities rather than something else.

It's in one of the save blocks, so it moves around quite frequently. If you want guaranteed free memory, use malloc or some memory that is really okay to overwrite (the string buffer, script banks, etc). If you're doing ASM you can even use the stack.

mlem September 7th, 2015 7:40 AM

Quote:

Originally Posted by DraconianWing (Post 8918636)
Not sure which version of FireRed you're using, so I'll just direct you to this thread. :)

Thanks for the help :mudkip^_^:

Urnighter September 9th, 2015 1:09 PM

So I've been messing around with mapping in AM1.95 and having a good time. I don't have much knowledge about applying the maps to hacks though.

The dimensions of fortree city are 40x20. I think it'd be cool to expand it. According to advance map I can make it as large as 40x172! Can the gba handle this? Will the game have space for such a thing? Will it lag? If it can handle this, can I do it with more cities?

Thanks!

FamiliaWerneck September 9th, 2015 7:17 PM

First, I wanna correct the moves names that were written without spaces.
I only want to know if I will screw up the ROM, or anything like that if I do it. Like just rewriting them in G3T.
Examples:
Doubleslap --> Double Slap
Thunderpunch --> Thunder Punch
Vicegrip --> Vice Grip

Second, there were some moves that had effect chances, like Fire Punch - 10% of burning chance, Pay Day - 100% Pay Day chance, Ancientpower - 10% chance of raising all stats; and there were moves that didn't have a chance, even though they had effects, like Growl or Leer.
What's the difference (besides damaging and non-damaging moves), what's the link?
What if I put a chance of lowering the speed stat of my opponent with 100% chance of that happening. Would that be equal to String Shot's 0% effect chance?

Third and finally, how can I know exactly what an effect byte does other than just looking at the move reference in parenthesis? How can I edit them?

destinedjagold September 9th, 2015 9:14 PM

Quote:

Originally Posted by FamiliaWerneck (Post 8922024)
First, I wanna correct the moves names that were written without spaces.
I only want to know if I will **** up the ROM, or anything like that if I do it. Like just rewriting them in G3T.
Examples:
Thunderpunch --> Thunder Punch

There's a 12 character limit, so you cannot rename Thunderpunch to Thunder Punch, unfortunately.

FamiliaWerneck September 10th, 2015 2:59 AM

Quote:

Originally Posted by destinedjagold (Post 8922115)
There's a 12 character limit, so you cannot rename Thunderpunch to Thunder Punch, unfortunately.

Yeah, I thought about that limit. But why moves like Doubleslap and Vicegrip are together if they don't reach the 12 character limit?
Also, the limit is 12 characters, but are you sure I won't overwrite other moves names or anything else in the game, by adding letters (or spaces)? I mean, are 12 characters really saved for each move or that's only the limit?
Thanks!

C me September 10th, 2015 3:12 AM

Quote:

Originally Posted by FamiliaWerneck (Post 8922323)
Yeah, I thought about that limit. But why moves like Doubleslap and Vicegrip are together if they don't reach the 12 character limit?
Also, the limit is 12 characters, but are you sure I won't overwrite other moves names or anything else in the game, by adding letters (or spaces)? I mean, are 12 characters really saved for each move or that's only the limit?
Thanks!

You won't overwrite other moves by making each move max characters.

speedo_flash September 10th, 2015 6:11 AM

hey! i'm new to rom hacking.. me and my friends have started building a rom and i was just wondering is it possible to export a single map created on my friend's laptop which can be transported to my laptop which can later be connected in game ? Meaning we can work on different cities on different laptops then merge them in 1 game? Eg - i work on 1st town , my friend works on 2nd town then the 2nd town is copied on my laptop to connect it with 1st town. Thanks!

FamiliaWerneck September 10th, 2015 7:16 AM

Quote:

Originally Posted by speedo_flash (Post 8922427)
hey! i'm new to rom hacking.. me and my friends have started building a rom and i was just wondering is it possible to export a single map created on my friend's laptop which can be transported to my laptop which can later be connected in game ? Meaning we can work on different cities on different laptops then merge them in 1 game? Eg - i work on 1st town , my friend works on 2nd town then the 2nd town is copied on my laptop to connect it with 1st town. Thanks!

Of course it is possible.
Try saving each map as a new map number. Say you use Map number 97, and your friends use 98 and 99. After you have all the maps, simply change them for the right ones (Pallet's main map is in 3, but Pallet's sub maps are in 4, and so on) and delete 9, 98 and 99.

Quote:

Originally Posted by destinedjagold (Post 8922115)
There's a 12 character limit, so you cannot rename Thunderpunch to Thunder Punch, unfortunately.

Quote:

Originally Posted by C me (Post 8922327)
You won't overwrite other moves by making each move max characters.

Thanks a lot you two.

Quote:

Originally Posted by FamiliaWerneck (Post 8922024)
Second, there were some moves that had effect chances, like Fire Punch - 10% of burning chance, Pay Day - 100% Pay Day chance, Ancientpower - 10% chance of raising all stats; and there were moves that didn't have a chance, even though they had effects, like Growl or Leer.
What's the difference (besides damaging and non-damaging moves), what's the link?
What if I put a chance of lowering the speed stat of my opponent with 100% chance of that happening. Would that be equal to String Shot's 0% effect chance?

Third and finally, how can I know exactly what an effect byte does other than just looking at the move reference in parenthesis? How can I edit them?

It says it's unknown as for why effect chances are sometimes 0% but they happen 100% sure. I'm still confused though, for things like Stomp, where it will with 100% certainty hits with a 2x base power if the opponent used Minimize and 30% chance of flinching... What goes on there?

I still would like to know how to edit them. If someone can help there... EDIT: Nevermind. Lazyness allowed me to find this in a simple search.

Also, how do I know what number, from 0 to 255 I have to apply in order to have a certain priority?
G3T is showing them relating by moves (like "Same as Whirwind priority"), but I'm confused as they change a lot through Generations...

esperance September 11th, 2015 8:33 AM

Quote:

Originally Posted by speedo_flash (Post 8922427)
hey! i'm new to rom hacking.. me and my friends have started building a rom and i was just wondering is it possible to export a single map created on my friend's laptop which can be transported to my laptop which can later be connected in game ? Meaning we can work on different cities on different laptops then merge them in 1 game? Eg - i work on 1st town , my friend works on 2nd town then the 2nd town is copied on my laptop to connect it with 1st town. Thanks!

This is a very easy thing to do. All you need to do is work on the ROM, then create a patch that you can send (by email, for example) to your friend. Your friend applies the patch, then does some work. Once he's finished, he can create a new patch to send to you, and it repeats like a cycle. The only thing you won't be able to do is work concurrently--you'll need to wait for the other to be finished and have the new patch before you start working yourself, or data can be overwritten and you'll break things.

Teh Blazer September 11th, 2015 10:49 AM

Super simple question. Say I made a script and compiled it into the ROM, but a few days later I decided to scratch the script completely and start over with a new one. The thing is, that original script that i made was quite large.

Is there any special XSE command or something that will make removing the script from my ROM hack easier or is it better to just ignore it and make a new script in another part of the ROM?

C me September 11th, 2015 11:20 AM

Quote:

Originally Posted by Lost Heart (Post 8923761)
This is a very easy thing to do. All you need to do is work on the ROM, then create a patch that you can send (by email, for example) to your friend. Your friend applies the patch, then does some work. Once he's finished, he can create a new patch to send to you, and it repeats like a cycle. The only thing you won't be able to do is work concurrently--you'll need to wait for the other to be finished and have the new patch before you start working yourself, or data can be overwritten and you'll break things.

Did Gamefreak not have different people working on different things at the same time that's why there are free space gaps? You could prearrange what space to use to make sure you don't overwrite each others data.

esperance September 11th, 2015 11:42 AM

Quote:

Originally Posted by Teh Blazer (Post 8923934)
Super simple question. Say I made a script and compiled it into the ROM, but a few days later I decided to scratch the script completely and start over with a new one. The thing is, that original script that i made was quite large.

Is there any special XSE command or something that will make removing the script from my ROM hack easier or is it better to just ignore it and make a new script in another part of the ROM?

There is a very simple command in XSE. It's #removeall, to be used like this:
Code:

#removeall 0x[offset of script to erase]


This command will overwrite the old script with the freespace byte that XSE associates with the ROM. So for Emerald do make sure to use the #freespace command.

Quote:

Originally Posted by C me (Post 8923966)
Did Gamefreak not have different people working on different things at the same time that's why there are free space gaps? You could prearrange what space to use to make sure you don't overwrite each others data.

GameFreak wasn't working with raw data. They used various source code files which there then compiled and linked into the ROM data as we interact with it by a compiler. A lot of the "data" didn't have a preset location in the ROM while it was still being written (hence why games such as LeafGreen and FireRed don't have the same offsets for everything). ROM hacking and programming aren't exactly the same thing.

Now, he could certainly agree with his partner to work on specific sections only, but the fact of it is that not all tools (especially those designed to be beginner friendly) will tell you exactly where and how much space they are using/writing to.

Blah September 11th, 2015 4:37 PM

Hey guys, I recently picked up XSE, and I've already run into a little-big issue.
Spoiler:

Code:

#dynamic 0xA00000
#org @start
lock
faceplayer
checkflag 0x829 'pokedex flag
if 0x1 jump @speciesCheck
textcolor 0x0
msgbox @brother 0x6
release
end

#org @speciesCheck
lockall
special2 0x800D 0xD4 'returns in 0x8006 pkmn seen amount. 0x800D holds nothing.
compare 0x4014 0x8006 ' da f-word :D
if 0x0 goto @reward
textcolor 0x0
msgbox @capturing 0x6
release
end

#org @reward
lockall
copyvar 0x8000 0x8006
subvar 0x8000 0x4014
setvar 0x8001 0x0
goto @amount

#org @amount
lockall
givemoney 0x64 0x0
addvar 0x8001 0x64
subvar 0x8000 0x1
compare 0x8000 0x0
if 0x0 goto @amount
copyvar 0x4014 0x8006
textcolor 0x0
msgbox @gj 0x6
fanfare 0x101
waitfanfare
buffernumber 0x0 0x8001
textcolor 0x2
msgbox @money 0x6
release
end

#org @money
= [player] earned [$][buffer1]!

#org @gj
= Oh, [player], you've obtained some\nnew Pokémon. Let me give you some\lmoney to match what you've captured.

#org @capturing
= Bobby: go capture more mons

#org @brother
= get a pokedex pls




it's particularly this part:
Code:

special2 0x800D 0xD4
compare 0x4014 0x8006
if 0x0 goto @reward


In memory viewer, both are equal (and I use copyvar too, so they should be equal for the second time the script is run). Yet, it will always do the "goto @reward". I suspect variable 0x4014 is being compared to the value 0x8006 instead of the actual variable 0x8006. If this is the case, how would I be comparing variables in XSE (the command help suggests that this is the way). I about to write ASM to do it for me, so hopefully someone has a solution!

esperance September 11th, 2015 4:44 PM

Quote:

Originally Posted by FBI agent (Post 8924224)
Hey guys, I recently picked up XSE, and I've already run into a little-big issue.
Spoiler:

Code:

#dynamic 0xA00000
#org @start
lock
faceplayer
checkflag 0x829 'pokedex flag
if 0x1 jump @speciesCheck
textcolor 0x0
msgbox @brother 0x6
release
end

#org @speciesCheck
lockall
special2 0x800D 0xD4 'returns in 0x8006 pkmn seen amount. 0x800D holds nothing.
compare 0x4014 0x8006 ' da f-word :D
if 0x0 goto @reward
textcolor 0x0
msgbox @capturing 0x6
release
end

#org @reward
lockall
copyvar 0x8000 0x8006
subvar 0x8000 0x4014
setvar 0x8001 0x0
goto @amount

#org @amount
lockall
givemoney 0x64 0x0
addvar 0x8001 0x64
subvar 0x8000 0x1
compare 0x8000 0x0
if 0x0 goto @amount
copyvar 0x4014 0x8006
textcolor 0x0
msgbox @gj 0x6
fanfare 0x101
waitfanfare
buffernumber 0x0 0x8001
textcolor 0x2
msgbox @money 0x6
release
end

#org @money
= [player] earned [$][buffer1]!

#org @gj
= Oh, [player], you've obtained some\nnew Pokémon. Let me give you some\lmoney to match what you've captured.

#org @capturing
= Bobby: go capture more mons

#org @brother
= get a pokedex pls




it's particularly this part:
Code:

special2 0x800D 0xD4
compare 0x4014 0x8006
if 0x0 goto @reward


In memory viewer, both are equal (and I use copyvar too, so they should be equal for the second time the script is run). Yet, it will always do the "goto @reward". I suspect variable 0x4014 is being compared to the value 0x8006 instead of the actual variable 0x8006. If this is the case, how would I be comparing variables in XSE (the command help suggests that this is the way). I about to write ASM to do it for me, so hopefully someone has a solution!

You're right in your suspicions. Variable 0x4014 is being compared with the value 0x8006. "compare" (command 0x21) compares a variable with a value. In order to compare two variables, you need to use command 0x22, called "comparevars" in XSE.

Blah September 11th, 2015 4:46 PM

Quote:

Originally Posted by Lost Heart (Post 8924230)
You're right in your suspicions. Variable 0x4014 is being compared with the value 0x8006. "compare" (command 0x21) compares a variable with a value. In order to compare two variables, you need to use command 0x22, called "comparevars" in XSE.

lol, I have no idea why I couldn't find that in command help. It was the next command down :P
Thanks a lot :)

DonSems September 12th, 2015 1:22 PM

Anyone know what flag is set to put Bill's name on pc's in fire red?
I can't find a script on pc's with A-Maps and XSE and there is a whole bunch of flags in Bill's script don't know which one.


All times are GMT -8. The time now is 2:33 AM.


Like our Facebook Page Follow us on Twitter © 2002 - 2018 The PokéCommunity™, pokecommunity.com.
Pokémon characters and images belong to The Pokémon Company International and Nintendo. This website is in no way affiliated with or endorsed by Nintendo, Creatures, GAMEFREAK, The Pokémon Company or The Pokémon Company International. We just love Pokémon.
All forum styles, their images (unless noted otherwise) and site designs are © 2002 - 2016 The PokéCommunity / PokéCommunity.com.
PokéCommunity™ is a trademark of The PokéCommunity. All rights reserved. Sponsor advertisements do not imply our endorsement of that product or service. User generated content remains the property of its creator.

Acknowledgements
Use of PokéCommunity Assets
vB Optimise by DragonByte Technologies Ltd © 2023.