- 250
- Posts
- 7
- Years
- Seen Apr 23, 2025
I've been trying to get this particular event object's walking animation to animate at a particular speed. However, it seems that there are some preset speeds that the animation will fall into, depending on the duration of the animation table.
Here is one version of the animation table, along with a gif showing the animation itself:
![[PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation? [PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation?](https://data.pokecommunity.com/attachments/16/16519-b8b4d283a4e25d1b420b401fbb408194.jpg)
I wanted the animation to be slightly faster than this, so I changed the duration of each frame from 8 to 7:
However, you will notice that the speed of the animation is dramatically faster, not slightly faster.
![[PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation? [PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation?](https://data.pokecommunity.com/attachments/16/16518-c010e09245ebc83e200eafddfa3cb1d0.jpg)
One would expect that, if the duration was changed from 7 to 6, the animation would be even faster, but no. Here's the table:
And here's the gif:
![[PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation? [PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation?](https://data.pokecommunity.com/attachments/16/16517-f009c4f9fb9d71ad97c90d03c569e10e.jpg)
You will notice that the difference in speed is 0. None. Even though every frame is supposed to be a bit shorter than the previous iteration, there is no discernable difference between the two, but there's a large difference in speed between the first and second versions. I've looked about, trying to find why there seems to be certain set speeds for event object animation. Looking at the official animation tables, it seems that every single one of them has a total duration of some power of 2 when you sum up the duration of every frame command, but besides that constraint, there are noticeable differences between all of them. I wouldn't be surprised if part of the reasoning for it being a power of 2 is because of how long it takes for an event object to go from one tile to another at normal walking speed, which I believe takes 16....duration units.
Does anyone know why I'm running into this issue of not being able to fine-tune the speed of this animation? Is it possible to have an animation not last for a number of duration units equal to some power of 2, and if so, what changes would need to be made? Or am I forced to comply with this restriction and be satisfied with slightly too fast or too slow animations?
Here is one version of the animation table, along with a gif showing the animation itself:
Code:
const union AnimCmd gObjectEventImageAnim_WalkEast_FollowingPokemon[] =
{
ANIMCMD_FRAME(8, 8, .hFlip = TRUE),
ANIMCMD_FRAME(8, 8, .hFlip = TRUE),
ANIMCMD_FRAME(10, 8, .hFlip = TRUE),
ANIMCMD_FRAME(10, 8, .hFlip = TRUE),
ANIMCMD_JUMP(0),
};
![[PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation? [PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation?](https://data.pokecommunity.com/attachments/16/16519-b8b4d283a4e25d1b420b401fbb408194.jpg)
I wanted the animation to be slightly faster than this, so I changed the duration of each frame from 8 to 7:
Code:
const union AnimCmd gObjectEventImageAnim_WalkEast_FollowingPokemon[] =
{
ANIMCMD_FRAME(8, 7, .hFlip = TRUE),
ANIMCMD_FRAME(8, 7, .hFlip = TRUE),
ANIMCMD_FRAME(10, 7, .hFlip = TRUE),
ANIMCMD_FRAME(10, 7, .hFlip = TRUE),
ANIMCMD_JUMP(0),
};
![[PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation? [PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation?](https://data.pokecommunity.com/attachments/16/16518-c010e09245ebc83e200eafddfa3cb1d0.jpg)
One would expect that, if the duration was changed from 7 to 6, the animation would be even faster, but no. Here's the table:
Code:
const union AnimCmd gObjectEventImageAnim_WalkEast_FollowingPokemon[] =
{
ANIMCMD_FRAME(8, 6, .hFlip = TRUE),
ANIMCMD_FRAME(8, 6, .hFlip = TRUE),
ANIMCMD_FRAME(10, 6, .hFlip = TRUE),
ANIMCMD_FRAME(10, 6, .hFlip = TRUE),
ANIMCMD_JUMP(0),
};
![[PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation? [PokeCommunity.com] [Pokeemerald] Can one fine-tune the speed of an object event's walking animation?](https://data.pokecommunity.com/attachments/16/16517-f009c4f9fb9d71ad97c90d03c569e10e.jpg)
You will notice that the difference in speed is 0. None. Even though every frame is supposed to be a bit shorter than the previous iteration, there is no discernable difference between the two, but there's a large difference in speed between the first and second versions. I've looked about, trying to find why there seems to be certain set speeds for event object animation. Looking at the official animation tables, it seems that every single one of them has a total duration of some power of 2 when you sum up the duration of every frame command, but besides that constraint, there are noticeable differences between all of them. I wouldn't be surprised if part of the reasoning for it being a power of 2 is because of how long it takes for an event object to go from one tile to another at normal walking speed, which I believe takes 16....duration units.
Does anyone know why I'm running into this issue of not being able to fine-tune the speed of this animation? Is it possible to have an animation not last for a number of duration units equal to some power of 2, and if so, what changes would need to be made? Or am I forced to comply with this restriction and be satisfied with slightly too fast or too slow animations?