Welcome to the PokéCommunity!

Hi there! Thanks for visiting PokéCommunity. We’re a group of Pokémon fans dedicated to providing the best place on the Internet for discussing ideas and sharing fan-made content. Welcome! We’re glad you’re here.

In order to join our community we need you to create an account with us. Doing so will allow you to make posts, submit and view fan art and fan fiction, download fan-made games, and much more. It’s quick and easy; just click here and follow the instructions.

We’re on social media!

Research & DevelopmentGot a well-founded knack with ROM hacking? Love reverse-engineering the Pokémon games? Or perhaps you love your assembly language. This is the spot for polling and gathering your ideas, and then implementing them! Share your hypothesis, get ideas from others, and collaborate to create!

Research & Development programs in this forum are subject to moderator approval before they are displayed.

It uses the Dark Type background. As it shows it seems to take the first few colours and starts scrolling them from the middle to give an idea of movement. It only seems to work with scrolling backgrounds so far from what I've seen.

I currently don't have any more screenshots, but I'll take some more soon!

where 0E XX XX XX 08 is a pointer to new location. At the location there should be:

Spoiler:

14 09 16 03 F1 E6 0D 08 05 00 17 0F

Such code gives effect of ... how to call it - blinking or glowing.

Note: You can substitute 09 for any number from 00 to 1A for standard BGs or you even can insert number of custom BG. Also at the end there should be clearing command 0E C7 59 1D 08. If you change 09 to 00, you'll (probably) get BG from your first post.
It's possible to give that effect to colored BG. Example:

I think I didn't explain my earlier post properly. It is a list of commands for this animation-bytecode and the format of their arguments. "1C xxxx xx xx xx" = "The command 1C is followed by four arguments that are 2, 1, 1 and 1 bytes wide respectively."
I'll demonstrate it using this code by tajaros as example:

I can now confirm that it is possible to create custom battle backgrounds by expanding the battle background table:

This custom battle background takes up slot 0x1B (which does not exist in the original FireRed rom)

The table starts at 0x3ADE18, and ends at 0x3ADF5B. There's another table right after it, which I mistook as part of the same table, so just remember that it ends at 0x3ADF5B, even though it looks like it doesn't.

I inserted my tileset, palette, and tilemap all with unLZ (I made the tilemap with NTME). Simply insert into free space, then manually point to the offsets you used in your new table with a hex editor.

For anyone that wants to experiment, here is my tileset and tilemap (the palette is included within the tileset because it's indexed). To test it, insert these with unLZ, keep track of the offsets you inserted the tileset, palette, and tilemap, then repoint and expand the table (make sure you don't mistake the table right after it as part of the original table!!! just look at the start and end offsets I gave earlier in this post), then have the new entries in the table point to your tileset, palette, and tilemap, then make a custom battle animation (or edit an existing one) and use the background slot 0x1B. And yes, I designed the graphics so that it can scroll horizontally.

This is an amazing discovery, I looked at this before but didn't decide to implement it until now! Just a few questions, each background has 12 bytes, obviously pointers to the tileset, palette and tilemap. I was just wondering if the 3 pointers are respective to that order, ie. is the first pointer the pointer to the tileset etc.?
Also is there a specific limit to how many extra backgrounds you have? and finally, do they have to be 16 colours? I'm assuming they do, but with any luck they might not.

This is an amazing discovery, I looked at this before but didn't decide to implement it until now! Just a few questions, each background has 12 bytes, obviously pointers to the tileset, palette and tilemap. I was just wondering if the 3 pointers are respective to that order, ie. is the first pointer the pointer to the tileset etc.?
Also is there a specific limit to how many extra backgrounds you have? and finally, do they have to be 16 colours? I'm assuming they do, but with any luck they might not.

Hello everyone, I am new to this tutorial. I want to make a Hammer Arm by having Karate Chop animation and 04 (Focus Punch) background. I found the start offset for the Karate Chop animation but how can I find the end offset for the animation? Please help.

Finding the end of an animation is normally trial and error - your best bet is to grab a bunch of bytes starting at Karate Chop's offset, paste them into free space (FF bytes) and repoint Karate Chop's pointer in the table to where you posted the edited bytes, open up GBA's Memory Viewer (Tools > Memory Viewer), and test the move. If it runs properly, it's likely you've grabbed too much, so head to the offset (note that it's prefaced with an 08 here, so for example if your animation is at 0xXXYYZZ, it would be 0x08XXYYZZ here) and replace bytes at the end with FF until you overwrite an 08 byte, refresh and retry. Do this until your animation resets at the end - this means your animation is what you have left, plus an 08 at the end (normally). If it freezes mid animation, you've deleted too much, so restart and try again.

Some animations don't end in a 08 byte; however, I'm pretty sure Karate Chop isn't one of them. It seems difficult at first but if you're editing a bunch you'll quickly get the hang of it.

I have a question of a different sort. I created an Aqua Tail animation:

It's essentially the water-bubbles from Waterfall's code, followed by an 0E pointer to the Slam animation (underlined for clarity). It mostly works; however, if a mon uses this in battle and then something levels up, the game freezes after trying to load the stats summary box. Also, certain graphics, such as the status-drop animations and the move menu (in battle) become borked until the battle ends. Is this because I have too many 00 XX 27 structures? I've been working on this for a few hours and can't seem to fix the problem.

It's essentially the water-bubbles from Waterfall's code, followed by an 0E pointer to the Slam animation (underlined for clarity). It mostly works; however, if a mon uses this in battle and then something levels up, the game freezes after trying to load the stats summary box. Also, certain graphics, such as the status-drop animations and the move menu (in battle) become borked until the battle ends. Is this because I have too many 00 XX 27 structures? I've been working on this for a few hours and can't seem to fix the problem.

I think this is due to the 0E pointer to slam animation more than anything. Because 0E animations point to repeating animations, and aren't the end to the script. To be honest if I were you i'd just remove to 0E pointer and put the slam animation in there. That's what I've done for my Aqua Tail code and it doesn't have any problems like that.

Im just skimming through the topics, and i havent read all of this one, but is there a topic to create your own attacks? is there a guide somewhere, if this isnt one, like i said didnt read it all xD </3

__________________

Hey guys. Please call me Nathaniel98643, Nate, Nathan, Nath lol i didnt think my username through. Wish i could change it.
A New Pokemon Hack in progress by myself and the help of others. Pokemon Eos
Hey yall should Play TPMRPG!!! has all the recent pokes! And Megas! Lots to play!
See how high you can Train your poke? Past 100? Try Past 100,000!!!
Hope to see ya there :D

Im just skimming through the topics, and i havent read all of this one, but is there a topic to create your own attacks? is there a guide somewhere, if this isnt one, like i said didnt read it all xD </3

I am hoping to create new attacks with new animations, bring later gen attacks like Darkrais special attack, and such.

__________________

Hey guys. Please call me Nathaniel98643, Nate, Nathan, Nath lol i didnt think my username through. Wish i could change it.
A New Pokemon Hack in progress by myself and the help of others. Pokemon Eos
Hey yall should Play TPMRPG!!! has all the recent pokes! And Megas! Lots to play!
See how high you can Train your poke? Past 100? Try Past 100,000!!!
Hope to see ya there :D

There was a topic on adding new moves, and it showed and offset location that i didnt have.

When i look for the 00250c04 i have
00250bff
then it goes to
00250c08 is that ok?

__________________

Hey guys. Please call me Nathaniel98643, Nate, Nathan, Nath lol i didnt think my username through. Wish i could change it.
A New Pokemon Hack in progress by myself and the help of others. Pokemon Eos
Hey yall should Play TPMRPG!!! has all the recent pokes! And Megas! Lots to play!
See how high you can Train your poke? Past 100? Try Past 100,000!!!
Hope to see ya there :D

Just copy paste an amount of code and put it to free-space and test the animation. If it's working then good although it can work if you put remove some more bytes so remove the unnecessary bytes as much as possible. If I remember right animations start with E0 Correct me If I'm wrong please.. And if the animation is not working copy paste remaining codes per E0.

The PokéCommunity

Meta

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, or The Pokémon Company International. We just love Pokémon.