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

miksy91

Dark Energy is back in action! ;)
1,480
Posts
15
Years
I should have mentioned that the rom I want to fix is my hack that I am currently working on, which has a bunch of other stuff implemented. Won't patching it with this fix overwrite the stuff I have done? Obviously, I don't want that.
No it doesn't. Just think about it!
Lunar IPS is a program that creates patch files comparing the datas of two roms with another. If the two files are exactly the same, it gives some sort of error message like "Patch file does simply nothing.". Basically, when you start editing a clean FireRed rom and apply it the overworld hack, Lunar Ips transfers the data of the overworld hack into FireRed rom.

Let's assume the following:
0x12A056 (this would be one offset to write to)
06 2A 88 95 FE (bytes to write to 0x12A056)
0x28B522 (another offset to write to)
72 6B CC D7 AA (bytes to write to offset 0x28B522)

Basically, let's assume that this is what the overworld hack does. It writes those bytes in those rom addresses. If you then again create another patch file using this "overworld hack" -rom as unmodified rom and clean FireRed rom as modified rom, this is what the patch file would turn out:

0x12A056 (offset to write to)
9A FF 00 F0 (original bytes of FireRed rom that would be replaced in 0x12A056)
0x28B522 (offset to write to)
BB AA BA 9A B7 (original bytes of FireRed rom that would be replaced in 0x28B522)

This simple process goes straight as a "hack remover". If you wanted to remove only parts of it, you'd have to investigate properly what it does though.
 
Last edited:
8
Posts
11
Years
  • Seen Aug 15, 2013
Hello again,

I'm having concerns about offsets. To be precise, about the interest of FSF in certain situations.

Correct me if I'm wrong, but from what I understood, I don't need FSF when scripting with XSE. All I need to do is add #dynamic 0x800000, add pointers, and XSE finds free offsets itself.
But what about Advance Map and Advance Trainer?

About Advance Trainer... It automatically tells me when a repoint is needed. So I click the "repoint" button: my question is, can I use the suggested offset, or do I need to look for a free one with FSF for safety? And when I typed my offset in that "please repoint" window, before validating the repoint, do I need to change "00" to "FF" ?

About Advance Map now... Let's say I add an event on my map, a character. Then I click "change events" like I'm supposed to, and a new window appears, asking me to search for an offset to repoint.
I've read tutorials telling me to get an new offset with FSF, and ask said new window to look for a new offset between the offset from FSF and $FFFFFF. Then I select one of the suggested offsets and repoint...
But is FSF really necessary for that too? I mean, can't I just click OK in said new window directly and choose an offset among the huge list suggested that way to repoint? Because the offsets suggested by said new window are all free, right?

I tried to be as clear as possible, I hope it's not too confusing...
Anyway, thanks in advance for your help.
 
8
Posts
11
Years
  • Seen Aug 15, 2013
Thank you very much Ash493!
After some more tutorials, new questions came up...

I read that editing a compiled script over and over again may end up causing bugs... What can I do about it?

1. Clicking "delete event" in Advance Map? But if I do that, will the offsets used by said script be cleared as well? Because if they're not, it's just wasting space...

2. Adding "#removeall offset" to my scripts? I figured that's the safest solution, but I'm not too sure about how to use it...
If before the #dynamic line I add #removeall in all the scripts I edit and all the scripts I create, they will be working?
And if I delete an event in Advance Map and that it doesn't clear offsets, how can I use #removeall since there is no more event to trigger the script? Just add the #removeall in some unrelated script?

Finally, a detail about #removeall... If the script that gets #removeall'd contains setflags and setvars, will the flags and vars be cleared as well? If yes, that'd be a problem for other scripts that use those flags and vars... Because the definition of #removeall is XSE's guide is "Removes a compiled script, if it's a valid one, along with all his extra data, such as strings, movements, mart items and braille texts", but I don't know what a string is. And the rest of the definition isn't too clear to me either, actually ...

As always, thanks in advance for your precious help.
 
Last edited:

shinyabsol1

Pokemon DarkJasper!?
333
Posts
13
Years
  • Seen Nov 23, 2022
miksy91 said:
No it doesn't. Just think about it!
Lunar IPS is a program that creates patch files comparing the datas of two roms with another. If the two files are exactly the same, it gives some sort of error message like "Patch file does simply nothing.". Basically, when you start editing a clean FireRed rom and apply it the overworld hack, Lunar Ips transfers the data of the overworld hack into FireRed rom.

Let's assume the following:
0x12A056 (this would be one offset to write to)
06 2A 88 95 FE (bytes to write to 0x12A056)
0x28B522 (another offset to write to)
72 6B CC D7 AA (bytes to write to offset 0x28B522)

Basically, let's assume that this is what the overworld hack does. It writes those bytes in those rom addresses. If you then again create another patch file using this "overworld hack" -rom as unmodified rom and clean FireRed rom as modified rom, this is what the patch file would turn out:

0x12A056 (offset to write to)
9A FF 00 F0 (original bytes of FireRed rom that would be replaced in 0x12A056)
0x28B522 (offset to write to)
BB AA BA 9A B7 (original bytes of FireRed rom that would be replaced in 0x28B522)

This simple process goes straight as a "hack remover". If you wanted to remove only parts of it, you'd have to investigate properly what it does though.

This all makes perfect sense...but when I actually patch my hack with the "removal" patch that I made, it deletes many of the tiles that I have inserted (everything appears all black in game), and A-map gives me an error: "Error on compressed data (size of data is $FFFFFF)".

Here's how I made the patch:

1). Applied overworld hack to clean FR rom
2). Used LIPS to create a patch using the rom that I just applied the overworld hack to as the unmodified rom, and a clean FR rom as the modified rom

Anything wrong there?
 

heyo

HEYO!
113
Posts
11
Years
  • Age 27
  • Seen Nov 24, 2023
I'm new to Rom Hacking, so I don't know if this is a silly question or not.
How do you add new battle music to Fire Red? Like, so I can have a regular battle theme, a gym battle theme, an Elite 4 battle theme, a team battle theme, etc.
 

RetroRoller

Trailer Trash
111
Posts
12
Years
I'm new to Rom Hacking, so I don't know if this is a silly question or not.
How do you add new battle music to Fire Red? Like, so I can have a regular battle theme, a gym battle theme, an Elite 4 battle theme, a team battle theme, etc.

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

----
I have a question, how do you change the in-battle HP/EXP bars (like in Flora Sky)? Are the images something I could find in UNLZ, or would I have to edit it with something like tile molestor? Also, if there's a tutorial somewhere (I haven't found one) can you link it?
 

okuhtfesq

Ace Trainer
2
Posts
12
Years
  • Seen Mar 15, 2015
Advance Map Tile Inserting Error

Whenever I try to use the "Load Tileset 1" command in the block editor of Advance Map 1.95, rather than my tiles loading correctly, I just get a solid color.
When I save the tilesets from the game, open them up with Paint, and edit them, and then load them back into the block editor, all of the game's pre-existing tiles look normal, but the tiles I insert are a solid color. Why is this happening? I would greatly appreciate help!!!:) I used Cello's tutorial and followed it quite closely (at least I think)..
 
Last edited:

Teh Blazer

Divider of Zero
776
Posts
15
Years
http://www.pokecommunity.com/showthread.php?t=121856

----
I have a question, how do you change the in-battle HP/EXP bars (like in Flora Sky)? Are the images something I could find in UNLZ, or would I have to edit it with something like tile molestor? Also, if there's a tutorial somewhere (I haven't found one) can you link it?

Yes, if I do recall the HP bars are somewhere in UnLZ. Not sure exactly where, but they're definitely there.

Whenever I try to use the "Load Tileset 1" command in the block editor of Advance Map 1.95, rather than my tiles loading correctly, I just get a solid color.
When I save the tilesets from the game, open them up with Paint, and edit them, and then load them back into the block editor, all of the game's pre-existing tiles look normal, but the tiles I insert are a solid color. Why is this happening? I would greatly appreciate help!!!:) I used Cello's tutorial and followed it quite closely (at least I think)..

For every tileset you're using, you're allowed 12 plaettes, with 12 colors on each palette. Advance Map is very specific with their colors and if you add any extra color that's not in the pre-existing list of colors, it becomes the last color in that palette. You can fix it by manually editing the palette to replace one of the colors with your new color.

tl;dr You're using colors that aren't recognized by the palette.
 

okuhtfesq

Ace Trainer
2
Posts
12
Years
  • Seen Mar 15, 2015
Thanks!

For every tileset you're using, you're allowed 12 plaettes, with 12 colors on each palette. Advance Map is very specific with their colors and if you add any extra color that's not in the pre-existing list of colors, it becomes the last color in that palette. You can fix it by manually editing the palette to replace one of the colors with your new color.

tl;dr You're using colors that aren't recognized by the palette.

Thank you so much! It worked.
 
5
Posts
15
Years
  • Seen Dec 8, 2016
My apologies if this is in the wrong place.

Does anyone have the emerald decapitalisation patch by wichu? I dl'd the ruby and FR ones, but the emerald one is no longer on 2shared.
 

blue

gucci
21,057
Posts
16
Years
Anyone encountered this problem before?
Problem-1.png


It happens when I patch a clean FR ROM with the patch I created.
 

redriders180

Mastermind of Pokemon Glazed
314
Posts
13
Years
Anyone encountered this problem before?
Problem-1.png


It happens when I patch a clean FR ROM with the patch I created.

Lunar IPS can only make patches for files up to 16 MB, the standard length of a GBA ROM. If you expanded your ROM, then LIPS won't be able to make a patch, except for the first 16 megabytes. If you didn't intentionally expand it, then chances are that the extra bytes are worthless, and can be truncated using a hex editor, or the like. If you did expand it, then you need to use another patching medium, such as A-Ptch.
 

blue

gucci
21,057
Posts
16
Years
Never Mind, it seemed to work when I used UPS patcher but I have another problem now:

prob2.png


It's basically a corruption with the warp tiles.
 
5,256
Posts
16
Years
If its not too much trouble, remove all the events by going into the Header tab and changing the event offset (Ctrl+H to go into Professional View) and replace it with $00000. That will safely erase all the events, so if you have anything on that map you dont want to lose then you should save it first.
 

MrSandman64

Pokemon Moon Creator
28
Posts
11
Years
Does anyone know go to change the little pikachu in the fire red intro (the one on top of the message in the beginning of the game)?
I want to replace it with one of my fakemons
 
3
Posts
11
Years
  • Seen Nov 2, 2013
TLDR: I need help modifying the properties of specific moves in HG/SS. Could someone walk me through it, please?

Full: Ok, so I understand that there really isn't a specific attack editor for HG/SS, yet. At least, the one in PPRE isn't finished. Anyway, I heard that it's possible to take a rom of Diamond/Pearl and use Attack Editor DS to modify specific moves in those games, extract the waza.tbl.narc file, and then replace the corresponding a/0/1/1 file in HG/SS with the waza.tbl.narc one. Two issues with this.

First, I've tried using Attack Editor DS with a clean Diamond rom, but nothing ever saves. I even attempted to modify one attack at a time, saving and closing out of the program before moving onto the next attack. No dice.

Second, I've very, very little experience with hex editing programs like Crystal Tile 2. More like clueless, actually. Upon opening the rom file in CT2, I'm never quite sure when to extract/input certain files, or even search for specific things within directories. Like, I've seen posts were people will say to search for pointer/offset (as an example) 0x123456a, but I can't for the life of me find any sort of thing in that format. All the offsets I see are in a 012345678 (no "x") format.

So, hypothetically speaking, say I wanted to modify the attack "Pound" from base 40 power to base 50 in my Soul Silver rom. Could someone walk me through the process of doing that, with the assumption that I have the mental capacity of a 10 year-old?
 
215
Posts
11
Years
  • Seen Jul 14, 2020
Simple Pick up Item Scripting

Someone please, I'm begging you, PLEASE, show me how to make a pick up item script! I have been looking for 4 days now and no where online shows how to make a pick up item script! I am about to go insane! This is what I want to happen. Player goes up to the item on the ground, picks it up, and the player has the item. I am trying to make the player pick up 5 pokeballs right now and I am having troubles! =( Here is my script:

#org $script
lock
faceplayer
checkflag 0x1201
if 0x01 goto $done
giveitem 0x04 0x05
boxset 6
setflag 0x1201
removesprite 0x5
release
end

#org $done
removesprite 0x5
boxset 6
release
end

What happens is after I pick up the pokeball, i get my items but the sprite is still there and the sprite is only removed after I leave the screen, How do I make the sprite leave ASAP? Please help me!
 
154
Posts
11
Years
  • Seen Jan 8, 2017
Someone please, I'm begging you, PLEASE, show me how to make a pick up item script! I have been looking for 4 days now and no where online shows how to make a pick up item script! I am about to go insane! This is what I want to happen. Player goes up to the item on the ground, picks it up, and the player has the item. I am trying to make the player pick up 5 pokeballs right now and I am having troubles! =( Here is my script:

#org $script
lock
faceplayer
checkflag 0x1201
if 0x01 goto $done
giveitem 0x04 0x05
boxset 6
setflag 0x1201
removesprite 0x5
release
end

#org $done
removesprite 0x5
boxset 6
release
end

What happens is after I pick up the pokeball, i get my items but the sprite is still there and the sprite is only removed after I leave the screen, How do I make the sprite leave ASAP? Please help me!

Well, I'm no scripting expert, but did you make sure to set the sprite's ID to the flag number? Also, you wouldn't need the removesprite in the "done" pointer, it should just be release end, because there shouldn't be anything to interact with after the player gets the item.
If you've already done that and it's not working, I'm sorry, someone more advanced will help you eventually.
 
215
Posts
11
Years
  • Seen Jul 14, 2020
Thanks for the help, but it didn't work =(
I still have the same problem, the sprite stays there until i leave the screen then it goes away =(
 
Status
Not open for further replies.
Back
Top