• Just a reminder that providing specifics on, sharing links to, or naming websites where ROMs can be accessed is against the rules. If your post has any of this information it will be removed.
  • Ever thought it'd be cool to have your art, writing, or challenge runs featured on PokéCommunity? Click here for info - we'd love to spotlight your work!
  • Our weekly protagonist poll is now up! Vote for your favorite Conquest protagonist in the poll by clicking here.
  • 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.

ROM Hacking Discussions

Status
Not open for further replies.
Wouldn't adding too much detail make it look less like a real map? Maps irl only have terrain, roads and landmarks on it. I agree that one Alice. linked to looks good though.

Also, someone should update the FAQ in the ROM Hacking Forum, its out-dated and incorrect in places.
 
Okay Thrace, I'll look into what I should put in there and update accordingly. Anyone with suggestions can feel free to PM them.

Edit: I edited three or four of the questions with new answers, and new links etc. I think I may start another, if Vrai and Christos approve. It'll be easier to start another than to do extensive editing.
 
Last edited:
So I was wondering if anyone had tried to work out how tile animations work? I remember I had a look a while back and I think Darthatron had a look too. From what I can remember searching for the pointer goes to a list of other pointers.
 
Which animations are we talking about, because I've been looking into changing some of the water animations.
Still don't know how to add them though >.<
 
Oh haha, I guess I wasn't very clear. I mean adding animations, or even making a tile animate with an existing animation. Not replacing the existing ones. In Genesis the doors in some tilesets have no animation anymore.
 
Styles was doing some work on importing Fire Red door animations into Emerald...but...yeah.
 
Styles was doing some work on importing Fire Red door animations into Emerald...but...yeah.
Again, I was merely replacing the existing door animations with new ones. Thrace is suggesting adding entirely new animations, something I, myself, was wondering about a while back.

On the topic of door animations, I discovered something, maybe a half a year ago, which might come in handy to some of you. It is possible to use door animations from any tileset in another tileset. Here's an example: let's say you want to use the door to Oak's Lab in Tileset 1 in another tileset (say Tileset 2). What you can do is find the block number (0x2AC in this case) and create a door block in another tileset in the same block number (0x2AC). If you set the Behavior Byte to 0x69 (Use door/warp), then the animation will execute when you use that door. The only setback I can think of is that the door animation will play in the palette to which it is assigned in its original tileset (10 in our case), which, as you can imagine, causes problems with differing palettes for different tilesets.

Which brings me to another point: it seems that door animations are assigned a palette which is used for that animation. Even if you change the palette of the tiles for that door block in the Block Editor, the door animations still plays in the original palette. Is their some way to change which palette is used for the animation? I haven't looked into it but I assume it's possible.
 
On the topic of door animations, I discovered something, maybe a half a year ago, which might come in handy to some of you. It is possible to use door animations from any tileset in another tileset. Here's an example: let's say you want to use the door to Oak's Lab in Tileset 1 in another tileset (say Tileset 2). What you can do is find the block number (0x2AC in this case) and create a door block in another tileset in the same block number (0x2AC). If you set the Behavior Byte to 0x69 (Use door/warp), then the animation will execute when you use that door. The only setback I can think of is that the door animation will play in the palette to which it is assigned in its original tileset (10 in our case), which, as you can imagine, causes problems with differing palettes for different tilesets.
Thats interesting... is that only when you import the tileset that you exported from Tileset 1? As in instead of creating a new file for the new tileset are you simply replacing tiles from Tileset 1?

Which brings me to another point: it seems that door animations are assigned a palette which is used for that animation. Even if you change the palette of the tiles for that door block in the Block Editor, the door animations still plays in the original palette. Is their some way to change which palette is used for the animation? I haven't looked into it but I assume it's possible.
You could try looking at the pallete viewer as you go through a door. I assume the pallete would be under Sprite since the Tile ones would be full.
 
Thats interesting... is that only when you import the tileset that you exported from Tileset 1? As in instead of creating a new file for the new tileset are you simply replacing tiles from Tileset 1?
I'm not quite sure what you mean here.
You could try looking at the pallete viewer as you go through a door. I assume the pallete would be under Sprite since the Tile ones would be full.
Ah, of course. I didn't even think of that. I'll take a look when I get the chance.

And if anyone discovers anything related to inserting entirely new animations, please don't hesitate to post it here. I can think of quite a few good uses for that kind of knowledge.
 
On the topic of door animations, I discovered something, maybe a half a year ago, which might come in handy to some of you. It is possible to use door animations from any tileset in another tileset. Here's an example: let's say you want to use the door to Oak's Lab in Tileset 1 in another tileset (say Tileset 2). What you can do is find the block number (0x2AC in this case) and create a door block in another tileset in the same block number (0x2AC). If you set the Behavior Byte to 0x69 (Use door/warp), then the animation will execute when you use that door. The only setback I can think of is that the door animation will play in the palette to which it is assigned in its original tileset (10 in our case), which, as you can imagine, causes problems with differing palettes for different tilesets.
I already knew about this, but I usually did it differently. I would just save the tileset, block data, and palettes of the tileset I was going to use and load them over the old stuff in a different tileset.

Which brings me to another point: it seems that door animations are assigned a palette which is used for that animation. Even if you change the palette of the tiles for that door block in the Block Editor, the door animations still plays in the original palette. Is their some way to change which palette is used for the animation? I haven't looked into it but I assume it's possible.
And when I changed the palettes of the doors then, the animation had the correct palettes still. Maybe it's if you edit the palette that it was originally assigned to, such as if it was in palette 10, I would edit palette 10 to change the animation palettes.
 
I already knew about this, but I usually did it differently. I would just save the tileset, block data, and palettes of the tileset I was going to use and load them over the old stuff in a different tileset.
You mean like creating a duplicate of that tileset in another tileset? Why not just change the tileset # of all maps using the tileset-to-be-replaced to the other one?

And when I changed the palettes of the doors then, the animation had the correct palettes still. Maybe it's if you edit the palette that it was originally assigned to, such as if it was in palette 10, I would edit palette 10 to change the animation palettes.
Right, that's what I've been doing. But I was thinking that there might be some way to change which palette the door animation uses. I was wondering whether the door animation shares a palette with the tileset in which it is contained (so that editing the palette of one would alter the colors used by the other) or if the door animation had some data which pointed to a specific palette (which could theoretically be edited to point to a different palette). Basically, I would like to know how the computer knows which palette to use for the frames in the animation.
 
You mean like creating a duplicate of that tileset in another tileset? Why not just change the tileset # of all maps using the tileset-to-be-replaced to the other one?
I was doing that to have the door tile I wanted in a different tileset. So if I wanted different buildings in different tilesets to have the same door animation, that's what I would do.
 
Right, that's what I've been doing. But I was thinking that there might be some way to change which palette the door animation uses. I was wondering whether the door animation shares a palette with the tileset in which it is contained (so that editing the palette of one would alter the colors used by the other) or if the door animation had some data which pointed to a specific palette (which could theoretically be edited to point to a different palette). Basically, I would like to know how the computer knows which palette to use for the frames in the animation.
I think the tile is acting like a "pointer" to the animation and the animation has a pallete assigned to it. It should just use the palette for the tileset shouldn't it? You can change the pallete of the animated flowers by simply changing those colours in the tileset.

If we can work out where the tile is being defined as a pointer to the animation from we should be able to add new animations. I'm pretty sure the animated tiles are designated by x,y co-ordinates where ever the animation pointers are.
 
Okay, here's something we can discuss. Nintendo and Gamefreak (I'll refer to them as "Nintendo") made the scripts in the ROMs we hack. If we change the values of things in the scripts, even with a hex editor, sometimes the scripts don't correctly. Does this mean Nintnedo are bad programmers because they're scripts can go faulty when edited or, are they good programmers because they can make it so their scripts can't be manipulated easily?
 
Last edited:
Okay, here's something we can discuss. Nintendo made the scripts in the ROMs we hack. If we change the values of things in the scripts, even with a hex editor, sometimes the scripts don't correctly. Does this mean Nintnedo are bad programmers because they're scripts can go faulty when edited or, are they good programmers because they can make it so their scripts can't be manipulated easily?
Most likely good,but what if Game Freak made the scripts?
 
lol wtf? They didn't make a scripting language for their games because they wanted people to be able to hack them. They did it so that all script writers didn't need to know ASM to write scripts. And if you make a script properly it will work 100% of the time. Its human errors that make scripts behave strangely.
 
Status
Not open for further replies.
Back
Top