News:

As a consequence of the forum being updated and repaired, the chatbox has been lost.
However, you can still come say hi on our Discord server!

Main Menu

Help with Animation Data

Started by Charon, 06, February, 2009, 07:22:00 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Charon

Okay, so as you might already know, I'm working with Animation in Pokemon Jupiter, but I really want to learn how to change how sprites move across the screen (sliding), or smooth size changes, or even how to change the pallette of a sprite (like when you're casting Psynergy on the field). I want to find a smooth way to do this because I want to add new, more complicated animations to Jupiter.

If you know how to help me, please show me through tile viewer screenshots (and with the palette so I know what you're changing the bytes to). You could give me a tutorial with the bytes written out, but that's a real pain in the butt to interpret, especially with something like animation data.

If I could, I want to see if I can adjust the animation to slightly resemble GS's enterance into a battle with the begining of a battle in Jupiter.

Atrius (He/Him)

The animation data between Golden Sun & Pokemon Jupiter are pretty different from what I can tell, so I can't really help you with that.  In fact, Golden Sun doesn't do any palette swapping per say.  The majority of the sprites share a common 224 color palette, the "palette swaps" run the sprite data through a filter so it uses the palette differently.
[sprite=220,4,0]I'm shaking my head in general disapproval of everything[/sprite]

Charon

Okay, I see.

But do you happen to know anything about flashing image or moving animation data?:
If the palette is this:

do you understand what's going on on this animation data:

(I understand it to an extent, so I'm just wondering if they do it the same in Golden Sun)
Or do they do that differently in GS too? I could have sworn I saw something like this while traversing TLA the other day.

Atrius (He/Him)

I'd do better with HEX.  How can you tell 2, 9 & F apart, or 7 & 8?  Letsee...

FFFF0000 01005800
FFFF0000 01005400
FFFF0000 01005000
FFFF0000 03002C00


Nope, that doesn't look like GS animation data.
[sprite=220,4,0]I'm shaking my head in general disapproval of everything[/sprite]

Charon

Whoops, sorry for not translating that into HEX. You got it right, though. I can tell them apart because I've been using the same (admititly terrible) colour scheme for over 4 months now, although 2 and F are quite hard to tell the difference from, I'll give you that.

Hmm... that's odd. It's a simple bit of data telling it to show a particular image without a flash. The "FFFF0000" part is the repeat command. If I'm not mistaken, "FFFF0000" repeats indefinately allowing button press, I think "EFFF0000" is stop, and "FFF80000" is another repeat command used in certain animations, such as the hand selector in the PC boxes.

So basically, you got the Repeat command of another animation (that I was obviously too lazy to cut off), and then you've got 3 animations, each with repeat indefinately commands. Sorry if the 8 bytes sent you off...


01005800 FFFF0000
01005400 FFFF0000
01005000 FFFF0000


So that doens't mean anything in GS animation? Darn it, I was getting excited for a second.

Atrius (He/Him)

Golden Sun does use 0xFFFF0??? 0x???????? values quite a bit, so you probably did see something similar, but they're not for animations.  I know one thing that uses them is the data that assigns songs to rooms.

Here's what Felix's walking animation data looks like, it's a lot more compact:

AF 07
96 07
9B 07
A0 07
A5 07
AA 07
FD 00


Basically it has a sprite index, then a number of frames to wait.  Sprite index F0 and higher are reserved for commands where the number of frames to wait is replaced with a value used for them (It doesn't wait at all after them).   For example FD jumps to a specific spot in the animation, and since the value right after that is 0 it goes to the very beginning.
[sprite=220,4,0]I'm shaking my head in general disapproval of everything[/sprite]

Charon

Mmmmm okay, I see. In Pokemon it would look like (word form)

AF00 0700
9600 0700
9B00 0700
A000 0700
A500 0700
AA00 0700
FFFF 0000


Unless I'm mistaken, if there are other bytes set were the 00's are, then certain rotation/flip flags can be set.

Didn't know about FD. Maybe there'll be a similar command in Pokemon.

By the way, the thing I posted above was an animation for the trading sequence.