Jump to content

Class Animation Creator problem...


Mikey Séregon

Recommended Posts

I'm making an animation, the script doesn't show me any error, but when I try to save the animation it shows me this:

dibujoufg.png

This is the script:

/// - Mode 1
C03
C07
C4A
2  p- Ata01.png
2  p- Ata02.png
2  p- Ata08.png
2  p- Ata03.png
2  p- Ata08.png
2  p- Ata04.png
2  p- Ata08.png
2  p- Ata05.png
2  p- Ata08.png
2  p- Ata06.png
2  p- Ata08.png
2  p- Ata07.png
2  p- Ata08.png
2  p- Ata02.png
2  p- Ata08.png
2  p- Ata03.png
2  p- Ata08.png
2  p- Ata04.png
2  p- Ata08.png
2  p- Ata05.png
2  p- Ata08.png
2  p- Ata06.png
2  p- Ata08.png
2  p- Ata07.png
2  p- Ata08.png
C3C
2  p- Ata09.png
C05
L
3  p- Ata10.png
3  p- Ata11.png
3  p- Ata12.png
C01
2  p- Ata09.png
C06
C0D
~~~
/// - Mode 3
C03
C07
3  p- Crit01.png
3  p- Crit02.png
3  p- Crit03.png
3  p- Crit04.png
3  p- Crit05.png
C28
3  p- Crit06.png
3  p- Crit07.png
3  p- Crit08.png
3  p- Crit09.png
3  p- Crit10.png
C23
3  p- Crit11.png
C4F
3  p- Crit12.png
3  p- Crit13.png
3  p- Crit14.png
3  p- Crit15.png
3  p- Crit16.png
3  p- Crit14.png
3  p- Crit17.png
3  p- Crit15.png
3  p- Crit18.png
3  p- Crit12.png
3  p- Crit19.png
3  p- Crit20.png
3  p- Crit21.png
3  p- Crit22.png
3  p- Crit23.png
3  p- Crit24.png
3  p- Crit25.png
C25
3  p- Crit26.png
3  p- Crit27.png
3  p- Crit28.png
C25
3  p- Crit29.png
3  p- Crit30.png
C05
3  p- Crit31.png
L
3  p- Crit32.png
3  p- Crit33.png
C01
3  p- Crit34.png
3  p- Crit35.png
3  p- Crit36.png
3  p- Crit37.png
C1B
3  p- Crit38.png
C06
C0D
~~~
/// - Mode 5
C03
C07
C4A
2  p- Ata01.png
2  p- Ata02.png
2  p- Ata08.png
2  p- Ata03.png
2  p- Ata08.png
2  p- Ata04.png
2  p- Ata08.png
2  p- Ata05.png
2  p- Ata08.png
2  p- Ata06.png
2  p- Ata08.png
2  p- Ata07.png
2  p- Ata08.png
2  p- Ata02.png
2  p- Ata08.png
2  p- Ata03.png
2  p- Ata08.png
2  p- Ata04.png
2  p- Ata08.png
2  p- Ata05.png
2  p- Ata08.png
2  p- Ata06.png
2  p- Ata08.png
2  p- Ata07.png
2  p- Ata08.png
C3C
2  p- Ata09.png
C05
L
3  p- Ata10.png
3  p- Ata11.png
3  p- Ata12.png
C01
2  p- Ata09.png
C06
C0D
~~~
/// - Mode 6
C03
C07
3  p- Crit01.png
3  p- Crit02.png
3  p- Crit03.png
3  p- Crit04.png
3  p- Crit05.png
C28
3  p- Crit06.png
3  p- Crit07.png
3  p- Crit08.png
3  p- Crit09.png
3  p- Crit10.png
C23
3  p- Crit11.png
C4F
3  p- Crit12.png
3  p- Crit13.png
3  p- Crit14.png
3  p- Crit15.png
3  p- Crit16.png
3  p- Crit14.png
3  p- Crit17.png
3  p- Crit15.png
3  p- Crit18.png
3  p- Crit12.png
3  p- Crit19.png
3  p- Crit20.png
3  p- Crit21.png
3  p- Crit22.png
3  p- Crit23.png
3  p- Crit24.png
3  p- Crit25.png
C25
3  p- Crit26.png
3  p- Crit27.png
3  p- Crit28.png
C25
3  p- Crit29.png
3  p- Crit30.png
C05
3  p- Crit31.png
L
3  p- Crit32.png
3  p- Crit33.png
C01
3  p- Crit34.png
3  p- Crit35.png
3  p- Crit36.png
3  p- Crit37.png
C1B
3  p- Crit38.png
C06
C0D
~~~
/// - Mode 7
C02
6  p- Eva01.png
C0E
16  p- Eva02.png
C01
6  p- Eva01.png
C0D
~~~
/// - Mode 8
C02
6  p- Eva01.png
C0E
16  p- Eva02.png
C01
6  p- Eva01.png
C0D
~~~
/// - Mode 9
16 p- St01.png
C01
~~~
/// - Mode 10
16 p- St01.png
C01
~~~
/// - Mode 11
16 p- St01.png
C01
~~~
/// - Mode 12
C03
C07
C4A
2  p- Ata01.png
2  p- Ata02.png
2  p- Ata08.png
2  p- Ata03.png
2  p- Ata08.png
2  p- Ata04.png
2  p- Ata08.png
2  p- Ata05.png
2  p- Ata08.png
2  p- Ata06.png
2  p- Ata08.png
2  p- Ata07.png
2  p- Ata08.png
2  p- Ata02.png
2  p- Ata08.png
2  p- Ata03.png
2  p- Ata08.png
2  p- Ata04.png
2  p- Ata08.png
2  p- Ata05.png
2  p- Ata08.png
2  p- Ata06.png
2  p- Ata08.png
2  p- Ata07.png
2  p- Ata08.png
2  p- Ata02.png
2  p- Ata08.png
2  p- Ata03.png
2  p- Ata08.png
2  p- Ata04.png
2  p- Ata08.png
2  p- Ata05.png
2  p- Ata08.png
2  p- Ata06.png
2  p- Ata08.png
2  p- Ata07.png
2  p- Ata08.png
C3C
2  p- Ata09.png
C05
L
3  p- Ata10.png
3  p- Ata11.png
3  p- Ata12.png
C01
2  p- Ata09.png
C06
C0D
~~~
/// - End of animation

Link to comment
Share on other sites

Hold on a second... does the animation hacking right now just use each frame as its own image...? No wonder it's fucking overflowing O_O That's not efficient at all XD

I'm not sure what exactly happens, but Hex did some tile data stuffs so to make things as tight as possible. IIRC, this is the same way the game does it (since we can dump the un-tilemapped frames and they look essentially the same).

Link to comment
Share on other sites

@Celice don't jump to conclusions :(

The process is fine but a big animation is a big animation. There's a reason that the Fire Dragon and Demon King aren't just object frames but are a combination of those and background elements :P

Link to comment
Share on other sites

I'm not sure what exactly happens, but Hex did some tile data stuffs so to make things as tight as possible. IIRC, this is the same way the game does it (since we can dump the un-tilemapped frames and they look essentially the same).

If so, then that's fantastic. There's still a huge margin of error that the user can bring in, though, that's going to screw up the efficiency. Even being a row off vertically from the last frame will make the next frame have, most likely, no reusable tiles from the previous frame. So if the tilemap is as efficiently ordered as you suggest, maybe oracle can double-check that all the frames are setup as best as possible, to let the program recognize any reusable tiles?

EDIT: And hopefully the editor is doing the logical thing and trying to get reusable frames for the entire set of frames, and not just each individual frame.

@Celice don't jump to conclusions :(

That's why I'm asking the questions :)

Link to comment
Share on other sites

If so, then that's fantastic. There's still a huge margin of error that the user can bring in, though, that's going to screw up the efficiency. Even being a row off vertically from the last frame will make the next frame have, most likely, no reusable tiles from the previous frame. So if the tilemap is as efficiently ordered as you suggest, maybe oracle can double-check that all the frames are setup as best as possible, to let the program recognize any reusable tiles?

By Hextator's own admission, they way he set it up is waaaaay inefficient. I don't know enough about the game engine to give any real help, but generally if even one pixel that's not transparent in the 8x8 box (aka one tile) is counted as 'used'.

On the other hand, it may not be the lack of reusable tiles but the fact that each individual frame uses a ton of tiles (which obviously requires a ton of OAM, which leads to overflow).

EDIT: And hopefully the editor is doing the logical thing and trying to get reusable frames for the entire set of frames, and not just each individual frame.

I know that it gets reusable tiles for the entire set, but I'm not the one to ask about that.

Link to comment
Share on other sites

  • 2 weeks later...

Hold on a second... does the animation hacking right now just use each frame as its own image...? No wonder it's fucking overflowing O_O That's not efficient at all XD

No. Basically:

- it finds the bounding box of the contents of each frame (so big sparkly effects with tiny dots spread far apart are Bad)

- those contents are chopped into pieces of the size that the GBA can actually use for sprites

- it attempts to find a sheet that has room for all those sprites, while attempting to find and reuse identical sprites already on the sheet (this almost never actually works unless you are very careful with your animation because it really has to be an exact match)

- if the sprites for a frame can't fit on a single sheet by themselves, or if the overall animation needs too many sheets, the whole process barfs

Actually it's a little better than that; it can ignore empty space in the middle of the sprite... it tries to overlay sprites at various sizes, biggest to smallest, until it's set up enough to cover all the non-empty 'tiles' of the bounding box of the actual image. Big sparkly effects are still Bad, though. Trust me.

It's nowhere near as efficient as it could be if you actually created sprites and then designed animation frames in some kind of editor, specifying a position and transform for each sprite. But it's not bad.

Anyway, for debugging purposes, I suggest taking frames out until it fits, and then seeing just how bad it is.

Link to comment
Share on other sites

Archived

This topic is now archived and is closed to further replies.

  • Recently Browsing   0 members

    • No registered users viewing this page.
×
×
  • Create New...