• Welcome to Final Fantasy Hacktics. Please login or sign up.

[UTILITY] Win32 Sprite Animator (

Started by lirmont, July 03, 2011, 02:59:36 am


August 18, 2011, 12:58:20 am #40 Last Edit: August 25, 2011, 04:39:50 pm by lirmont
This version of the format document puts walk frames first (1-8): sprite.xml (right-click, "Save Link As..."; overwrite /formats/fft-type1/sprite.xml with this file). I'll update the one packaged in the download when more suggestions to make this format useful come in (since I'm sure the data dump I did from ShiShi's program is probably useless from a practical sense to most spriting endeavors, but that's what comes with the download).

Example of walk animation made with this format document:


This will definitly become my primary sprite animator, Lirmont. Thanks you for the amazing work you do on this.
  • Modding version: Other/Unknown


Addition of format viewer (reference image size up/down with overlay available to turn on/off if loaded image format matches named format):

Now, I'm interested in the effects FFT uses. Namely, has anyone made any of their own (so I could use them for demonstration without copying the game's material)?



If it's efects you need, I would talk to Mando. He did quite a number of those.

Btw, does this Sprite Animator enables you to view monsters as well? It would totally help.
  • Modding version: Other/Unknown


It's not a quick process, but the format feature is there to handle any type of sprite sheet. I mean, it's work to make the document that describes the format.

Shishi's program didn't have anything in the way of animations, so the format only really describes the frames (and not their logical placement). Anyway, here you go:

As always, you can download the up-to-date program in the first post of this thread.


That's great! You couldn't view any monster frames at all in ShiShi. I saw earlier you can create gifs with this, this also counts for monsters, I assume?
  • Modding version: Other/Unknown


You can load any image that's a .bmp or .png into this program. It subdivides the image into frames. That's what you're exporting as a .gif, so it's independent of FFT or anything else. The format feature just lets you set up arbitrary frames. For instance, if FFT's monster format didn't have a 1px padding around each frame, didn't waste space on the right side of the image, and if all the frames were the same size, you wouldn't even need a formatting document to view each frame properly; you could just tell the program the sprite sheet is X rows by X columns and be done.


This is very promising. Can you open the sprites animations data from fft?
Tethical, an online FFT clone


August 26, 2011, 01:34:17 pm #48 Last Edit: August 26, 2011, 02:06:13 pm by lirmont
I only wrote a formatting document for the ones listed as "TYPE1" in Shishi's program. It's 363 animation frames long, and I copied them out by hand from Shishi's program (as opposed to writing something that could read through some format and do it). All the frames are accounted for, but they're not aligned with each other correctly. You can see a picture of the red ranger's one here: Red Ranger. However, there are still "TYPE2" (and it has nearly 400 frames), "MON" (monster's format), "CYOKO" (chocobo's format), "ARUTE" (next to last boss' format), and "KANZEN" (the final boss' format). I know you're on a non-Windows system, but all the formats are available with the program and are in XML form if you ever want them. As long as you don't have to write the image operations yourself (ex. copying, flipping, offsetting, etc.) it's actually pretty short code to do (75 lines total for reading in the XML, creating a new bitmap area to draw, drawing all the composited frames in the bitmap area, and then it's ready to be displayed).


August 26, 2011, 05:03:09 pm #49 Last Edit: August 26, 2011, 05:06:09 pm by Lijj
Great deeds have been done:
  • Modding version: PSX


March forth, army of intellectual property-abusing minions!


August 27, 2011, 07:59:03 am #51 Last Edit: August 27, 2011, 09:46:52 am by Celdia
This is an interesting program. It took me a little while to understand what to do with it and how it worked (specifically the renaming of the file you're editing to my-sprite.fft-type1.bmp) but after taking a few minutes and reading through the thread I got the gist of it. Here's a quick output using the Type1 format.

And another bigger one with more frames just for the hell of it.

I can definitely see the usefulness of this for sprite editing once more frames of animation are implements. Even *I* could make use of this for editing walking frames now. A request though, lirmont. Is it possible to give it a setting so it doesn't reset itself back to frames 1-8 when it reloads the modified image?

Just one more since the folks in chat thought Frimelda looked a little off, here's the vanilla Squire marching along as well:
The general consensus is that the Animator is loading the arms slightly out of place. You might double-check the Type1 frame positions. ^_^ Still, this looks like a great project and I can't wait to see more of it in the future.



I must say I had problems with this to make it to work, but after Celdia said to just rename the file(yeah, I didn't read the thread...), everything works properly. Here is an example (don' mind the screwed colors, something f'd up with the sheet):
  • Modding version: Other/Unknown


August 27, 2011, 01:44:28 pm #53 Last Edit: August 27, 2011, 02:11:55 pm by lirmont
@Celdia: re-download it; it fixes that animation reset annoyance.

Since I don't do spriting and am not familiar with any of the poses (other than having played the game), making the format correct will never be very important to me. However, formats are plain-text and for that particular one it's in /[UTILITY]_Sprite_Animator/formats/fft-type1/sprite.xml. If you use a textfile editor with syntax highlighting (i.e. Notepad++), it's easy to make small changes quickly.

Example of loaded file:

Editing the file while the sprite is loaded into the program will reload the format and the sprite. You would just need to change "offset-x" and "offset-y" to be whatever suits your needs. The frames are loaded in the order they're found, so "40" (the back arm in this case) is slapped into the image first, then "6" (the body), and finally "41" (the front arm in this case). You can use the "Click to View Image" feature of the available formats to have an idea of what the numbers are while you're editing (if you have enough screen space). Remember, that feature also lets you magnify and demagnify that reference image.

Also, if you do edit your formats, make sure NOT to overwrite them with a new version of the project. The most you will ever need to copy over is the .exe (probably).

Thanks for your interest!

@Kagebunji: That 1-pixel, collapsed grid they use is definitely a little hard to deal with. You can copy mine out of /[UTILITY]_Sprite_Animator/formats/fft-mon/reference.bmp. All the FFT sprites I've encountered are like that.

Also, the "my-sprite" part of the file name is whatever your sprite's name originally was (ex. treasure-beast.fft-mon.bmp). It's just there for reference.

Thanks for trying it out on your sprite!


Oh, don't worry about the grid, it's my doing. On the sheet I have whole sheet in grid, so I don't mess up the placement, I just didn't erase it here.

Also, I have other question for you. I wonder if you will make this program more newb friendly, cause when doing the gif, I was very blue, and if Celdia didn't help me out, I would end up rage quitting, heh. ShiShi has simple animation feature etc., very easy to use.
  • Modding version: Other/Unknown


Shishi is also meant only for FFT formats (and probably only the original PS1 formats?). This program is meant for any picture (bmp/png). What I mean about the grid is that, even if you don't delete it, it won't show up if you have it in the right place. I'm open for suggestions, but all I can really think to do is make something available in the "Available Formats" area that will copy, rename, reload your file in the same directory, and tell you about the process. I know the file naming is wierd from an outsider's standpoint, but the benefit is that you don't have to select the format each time.


Ah, okay, lirmont. I see what you've got in mind there and keeping those format files in XML format does seem like a wonderful choice since it does seem very easy to modify. Maybe if I'm feeling a bit more ambitious later I'll give it a quick edit and see how things turn out. Thank you for the info. ^_^


August 28, 2011, 03:15:55 am #57 Last Edit: August 28, 2011, 03:17:00 am by lirmont
Latest version of the software now includes blending modes!



  • overwrite (default, not an addition)

  • darken

  • multiply

  • color-burn

  • linear-burn

  • lighten

  • color-dodge

  • linear-dodge

  • screen


OMG this is amazing. Lirmont this is pretty groundbreaking work. Is there anyway this could just be incorporated into our existing ShiShi software as well as your own separate program?

So are you know doing effect animation previews?
Current Projects:


Well, there's two things that would need to happen for that to even begin to happen, and I don't see either happening. One, you need the source code for Shishi's editor. Two, you need the source code for the TIMUTIL program (or a detailed account of loading and unloading such files). It would also be slow to load, since my program is cheating on the particle effects I assume the game uses (ex: using geometry and some programming to move and fade the dust cloud images out; whereas, my program is just putting the images somewhere static on the screen) and the blending modes (in this particular case) require doubling up frames to get them to look close to right. Like the type1 and monster sheets, I'm just eye-balling what the stuff looks like and writing formats for them. My goal is to have enough tools to do everything (within reason) required by a sprite sheet, and I'm using this game as a kind of case study for that. The things I know I need that I don't have yet are scaling (which is buggy because of Microsoft's encoders) and transparency (ex: fade in/out). I also want to do shader effects (ex: that obnoxious bloom filter you see in games), but that's purely for my own entertainment.