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

[UTILITY] Win32 Sprite Animator (1.2.2.4)

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

Kivutar

September 23, 2011, 06:53:04 am #100 Last Edit: September 24, 2011, 06:58:30 am by Kivutar
Thanks a lot for your precious code!

I started to include your tool in tethical.

For now, I did this:
- put the class in a separate python module
- put the images and the formats in the games folders
- modded the class for the new file paths
- modded the class to support a new parameter : a parent node for the effect
- display the effect as a billboard, so it always face the camera

I'm facing some issues with positions. I commit the code and get back to you.

Thanks again.

[EDIT] : I pushed on Github. You can test it using the script test_effects.py in the client folder. Unzoom using D to see the effect. It is very far from the origin. I still don't get why :(
Tethical, an online FFT clone

lirmont

Here's my guess at implementation: Tethical Effect Wrapper

It's based off what you had up on github. The only real difference is what the effect gets parented to. My attempt parents the effect to an orthographic camera, correcting for the size of Panda3d's base camera. Then, instead of a billboarded object, the primitives are parented directly to the camera. Since the camera is in 2d screen space/pixel space and parented to Panda3d's base camera, there shouldn't be a need to billboard any part of it (since nothing gets projected).


Kivutar

Please forgive me for the long time without replying. Real life is attacking me.

I didn't knew about this camera trick to correct the size, very interesting.

I tested your code and it works well but I think that having the effect parented to the camera will works when the camera is centered on the target, but is it always the case, even in FFT?
It also makes the effect independant of zoom wich is not the case in FFT (someone correct me if I'm wrong).

We may also use your code to display sprite (is it your plan?) but if it is the case we can't keep parenting to the camera for the same reason.

I would like to talk about a last thing. You're using tasks to display the animations. But it would be easier for me to use sequences instead. Sequences are good because we can nest them, easily to achieve the spritecast+cameramove+effect+soundeffect+damagedisplay result. Do you think we can switch to this?

Thanks again for your great contributions!
Tethical, an online FFT clone

lirmont

September 27, 2011, 11:52:26 am #103 Last Edit: September 27, 2011, 03:45:54 pm by lirmont
If you can get me an example of Python code to work off of for what you need, I'll look into getting my stuff into that format. That is, get me something that you would basically say, "Show it!" to Panda3d, where you've already placed it in the scene (like you have perhaps done with the character sprites). I can work backwards from that, probably.

As far as character sprites, it's certainly possible. However, reading the help on Panda3d's website about sequences, my format documents probably need to incorporate something similar to naming a group of frames to be called as a sequence. I will have to think of a good way to incorporate that.

As far as my thoughts on this program/formatting documents, I basically want to put enough time into it to -never- have to write sprite animation code for myself again. As I'm sure you saw with the effects demo, the little naming convention I'm using is both easily editable AND informative (that is, if I had chosen to name "fft-E001" as "effect-cure" or the "fft-type1" as "character", which is something I would do for game programming). That way, the code can exist on its own, and the effects can be edited with a 3rd party program (i.e. the sprite animator).

--

Support for freeing/returning the preview window added to the program (right-click on the preview area for options; click to drag):


Kivutar

I updated the test_effects.py on GitHub.
This script shows how I would like to use effects, it shows two characters casting magic on each others, with the camera rotating, not centered on them.
You can see the interfaces for sequences and parenting.
You can also unzoom to see how effects are automaticaly affected by the camera zoom.
Tethical, an online FFT clone

lirmont

September 28, 2011, 12:22:04 pm #105 Last Edit: September 28, 2011, 12:25:36 pm by lirmont

Cheetah

Current Projects:

Kivutar

I just love the result :mrgreen:
Thanks again lirmont.
Tethical, an online FFT clone

Lijj

Looks great! I can't wait to play with this tool.
  • Modding version: PSX

MasterGrand

Let's be together !!

lirmont

November 10, 2011, 06:56:00 am #110 Last Edit: December 06, 2011, 04:19:28 pm by lirmont
The following are screenshots of the work-in-progress "Begin New Format" feature: Begin New Format, Error Feedback, and Edit Loaded Format.

This isn't released yet because I want to include a section for defining frames first. However, I wanted to post this for critique considering some people had trouble using the tool (admittedly, it doesn't tell you anything).The process of creating a format is much more involved than just using the software to view animations, so my concern is that this reads pretty plainly.

--

These features have been released. Download link in first post.

Watch a short video of the format editing screen being used to turn a variant of cure's animation into a rainbow-colored animation: Edit Format Demo.

--

And the next feature I'm working on:



--

Named composite frame sets are available via the begin/edit format feature. "fft-mon" is a working example:



--

Sound now available via begin/edit format feature in combination with the "Edit Selected Frame"  feature. Ogg-Vorbis (.ogg) only at the moment, since I want this for Tethical (the Panda3d engine can use this):


Choto

One question about this, I think the normal attack sequence (Attack.Normal.SW) isn't outputting the correct attack frames for monsters.

You can see the ones used in game from this thread, if you just scroll down to Monster Attack Animations-->dragon and watch the first couple: http://ffhacktics.com/smf/index.php?topic=8984.0

and I attached the gif i got from the sprite animator, they don't seem to add up.

Don't worry too much if you're busy with the control panel or other things, just wanted to see if it was me or the program

lirmont

July 05, 2012, 06:30:21 pm #112 Last Edit: July 05, 2012, 09:44:07 pm by lirmont
Elric asked me the same question, and the answer is basically that there's extra programming involved with FFT monsters. In other words, "fft-mon" is a misnomer. I based it off one monster, and all other monster may vary.

--

See the Composite Frame I Want, It's Just not Part of the Sequence

Before following the steps after this, you may want to turn on the frame number on raw image setting in the "Display" section. Composite frames are those things with numbers on them.

If you want to change the animation sequence, you can do so by going to "File..." -> "Formats" -> "Edit Loaded Format", double-click the title that says "Composite Frame Sets" to make it fill the whole space, find the set you don't like, right-click it, select "Edit Composite Frame Set", right-click in a blank area in the frame list, and select a frame to add, save on that screen and on the main screen after you're done.

--

Don't See the Composite Frame I Want to be Part of the Sequence

Before following the steps after this, you may want to open the "View" -> "Available Formats" -> "Click to View Image" -> left-click the circle button -> click anywhere on that image and drag the pane to the right-hand side of the screen.

If you don't see a composite frame for the one you want, you will have to add it. Turn off the "Animate" feature. Click on the right-hand side of the application. Use the arrow keys to navigate to an empty spot (or make empty spots by changing the columns and rows in the edit format screen). Right-click with the yellow box on the area where you want to add a frame. Choose "Edit Selected Frame...". Right-click in the white box. Add the frame you want. Position it (after clicking it) by pressing "G" and moving the mouse. Right-click in the same general area, and choose "Update Frame". Close your window. Follow above directions until you have all your composite frames. Follow "See the Composite Frame I Want, It's Just not Part of the Sequence" directions after that.

3lric

Choto, I have a version setup for FFT monsters that I was able to make with Lirmont's instructions, if you would like to use it?
  • Modding version: PSX

Choto

Ah I see, I'll follow your steps to familiarize myself with everything, thanks a bunch!

lirmont

September 02, 2012, 09:02:45 am #115 Last Edit: September 03, 2012, 06:25:48 am by lirmont










The program got a bugfix release relating to the behavior of assigning tweens in the "Edit Selected Frame" feature. It now behaves in the intended manner, causing the frame call to be moved to the specified point on the motion-path and subsequently centered there. To update your installed version, re-download the zip file in the first thread, and then only copy out the executable file, writing over the executable in wherever you have the program installed at.

This bugfix also includes definitions for FFT's TYPE1, TYPE2, CYOKO, ARUTE, and KANZEN sprite sheet shapes. For existing users wanting to use these formats, be careful not to overwrite any of your own custom formats. You only need to copy the directories in the "formats" directory (i.e. fft-type1, fft-type2, etc) out of the zip file and into your existing installations "formats" directory. Please also remove "fft-type1-raw" if you do this.

Thanks for your continued interest in this project.

--

Another bugfix was added to prevent unwanted display errors in the software renderer. The front page has also been updated with gifs of the above formats.

Lijj

For those interested in editing the tall sprites or the chocobo: this is a breakthrough.
Anyhow, I'm going to try to make spell effects with this; downloaded.
  • Modding version: PSX

lirmont

November 26, 2012, 07:24:02 am #117 Last Edit: February 22, 2013, 03:30:35 am by lirmont
Bulk Copy




Regular Sheet




Half Sheet




This is just a minor update to add in two features I found out I needed for Tethical to use the FFT formats. Namely, there's now a copy feature that will let you bulk copy composite frames when you're editing a format, and there's now a feature that will let you bulk flip composite frames when you're editing a format. A single composite frame flip feature is also available by right-clicking the main preview area. This update also provides a finished FFT-MON sprite format to play around with (note: not all MON sprites are created in the same way, so this does not support all monsters; use the View -> Available Formats -> Click to View Image -> Open Circle feature in order to see what it expects as frame data versus what you're giving it; second note: your image must have the appropriate palette applied to the portrait, and this is not how it will be in-and-out of ShiShi). More progress on Tethical once I get the sprite format I have for FFT-TYPE1 flipped and into named sets.


--

Future Feature: Target MS on Named Set





Storage for per named-set target MS and event emitting (for stuff like triggering a hit response).


--

Future Feature: Format Filters



Filters for user formats during image file selection. Previously, only displayed image formats (re: the first entry).


Future Feature: Frozen/Unfrozen Background



For the floating preview window, there is a setting to follow along with the generated transparent background from the main area during transparency. The default is a frozen background, using the first composite frame's background area.


Future Easter Egg: Better Icon Animation



Simple blurring GLSL shader added.

ntzrmtthihu777

March 21, 2013, 10:05:46 am #118 Last Edit: March 21, 2013, 01:28:43 pm by ntzrmtthihu777
Um, yeah, hello and all with this being my first post. =^w^= I'm a linux user from the RPG Maker community, intending to use fft-style sprites for the overworld/out of battle characters... looking into this, rather impetuously pmed the creator (-_-)' heh.

I can't seem to get it to work under wine... or my windows xp virtualbox... when I use it with wine (and the components you suggested) it crashes on attempting to load a file... In windows it appears to load it but there is nothing visable...

Little help? or, if its no trouble to you, perhaps a peek at the source code so I can build something native to do it? I frikken love the idea of it, feel like a total n00b not able to do it =_=

and now feeling even more n00bish, got it working. geeze what kinda linux user am I if I can't fiddle with it till it works on my own =_=
Thanks heap big for this excellent tool!

Choto

May 13, 2013, 02:42:16 pm #119 Last Edit: May 13, 2013, 03:30:00 pm by Choto
Ok, moving my feedback to this thread now just for the sake of our mailboxes.

Updates look good, and i've managed to break it within about ten minutes haha. Tried to give fft-mon an attachment in the edit selected format screen and I crashed.

In other news, OpenGL now compiles the frames correctly for fft-type1, but not for fft-mon. The edit selected frame screen also uses the OpenGL frame compilation which means it's still all messy for me in fft-mon files, but the issue that was present before is gone.

I'm also gonna put a request that after selecting a frame in the edit selected frame screen, i can move its displacement with the keyboard arrows. Trying to move it around with the mouse is just a little tedious for precise movements.

Also, do you plan on making a separate animation for each status effect that's applied? For example, if hasted use Walk.SE.Haste, but if hasted and floated use Walk.SE.Haste.Float? Or were you planning on adding in a modifier of some sort that takes care of the alteration.. Ex: If haste present, speed animation by XX, if float, displace frames vertically according to some guidline, etc.